{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-74293",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2026-74293"
  ],
  "published": "2026-08-15T06:04:33Z",
  "summary": "ASoC: fsl: fsl_audmix: Validate written enum values",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: fsl: fsl_audmix: Validate written enum values\n\nfsl_audmix_put_mix_clk_src() and fsl_audmix_put_out_src()\nconvert the user-provided enum item with snd_soc_enum_item_to_val()\nbefore checking whether the item is within the enum's item count.\n\nThe generic snd_soc_put_enum_double() helper performs that\nvalidation, but these callbacks use the converted value first: the\nclock-source path tests it with BIT(), and the output-source path\nindexes the prms transition table with it.\n\nReject out-of-range enum items before converting them.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.178",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-74293"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/7513831b90a38d55fa089e3e1b49691e467afee6"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/b4774a7da12b14fc37219ab4368d1907f9b5aca4"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/8fb4364eb494b926d009bfaf3c98f07c3aa5d9f3"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/0b10c6203e62d9e7337cc401568b201f9bac79ec"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/b36d6d48faa6b1bb723b8f4e527c531a1a68520e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/0f1510e84d7bfc3eb9538efa65c6ea0aadf1078c"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/5b7a23c1ed04e794ef3b31e452ef5c93e1e34b4a"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/3cd17e4e2871114d5579fa7bc8da66faf7fc1930"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-17T05:50:24Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.8,
      "cvss_v3_severity": "High",
      "scenario": "AV:L - Exploitation requires a local SNDRV_CTL_IOCTL_ELEM_WRITE to /dev/snd/controlC* for the fsl-audmix \"Output Source\" or \"Mixing Clock Source\" mixer controls; no network, Bluetooth, or physical-input path reaches these put callbacks.\nAC:L - On default builds without CONFIG_SND_CTL_INPUT_VALIDATION, a single ioctl supplying an out-of-range enumerated.item[0] deterministically reaches the buggy snd_soc_enum_item_to_val()/prms[] indexing before snd_soc_put_enum_double() rejects the value; no race or uncontrollable state is needed.\nPR:L - snd_ctl_open() and snd_ctl_elem_write() perform no capability or namespace checks; any local user with ordinary access to the ALSA control device (common on i.MX8QM/i.MX952 automotive/embedded systems via audio-group or seat ACLs) can trigger the vulnerable callbacks.\nUI:N - The attacker issues the control write from its own process after opening the control device; no separate victim action such as mounting a filesystem or opening a file is required.\nS:U - The flaw corrupts or misreads kernel data and programs on-chip AUDMIX MMIO within the same host kernel security authority; it does not cross a VM, IOMMU, or sandbox boundary.\nC:H - Out-of-range enum indices are used to index the static prms[out_src][val] transition table and in BIT(val) before bounds checks, causing out-of-bounds reads of kernel rodata that are copied into transition state and can disclose adjacent memory contents.\nI:H - Attacker-chosen indices can select unintended prms transition cells or out-of-bounds prm data that pass fsl_audmix_state_trans() and drive snd_soc_component_update_bits() to write attacker-influenced mask/ctr values into AUDMIX hardware control registers.\nA:H - Large enum values can provoke undefined BIT() shifts, read past the prms table boundary, and program invalid AUDMIX control-register states that can kernel-fault or hang the audio subsystem; conservative scoring treats this memory-corruption class as high availability impact."
    }
  }
}
