{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72415","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-08-09T03:40:39.927Z","datePublished":"2026-08-15T05:56:36.210Z","dateUpdated":"2026-08-17T05:43:55.069Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T05:43:55.069Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: SDCA: Validate written enum value in ge_put_enum_double()\n\nge_put_enum_double() passes the user-supplied enumeration index\nitem[0] to snd_soc_enum_item_to_val() without checking it against the\nnumber of items in the enum:\n\n\tret = snd_soc_enum_item_to_val(e, item[0]);\n\nsnd_soc_enum_item_to_val() indexes the heap-allocated e->values[] array\nwith that index (e->values is set from a devm_kcalloc() of e->items\nentries), so a control write with an out-of-range item[0] reads past the\nend of the values buffer.  The bounds check in\nsnd_soc_dapm_put_enum_double() only runs afterwards, so it does not\nprevent the read here.\n\nReject an out-of-range item before using it, matching the other enum put\nhandlers.\n\nThis issue was pointed out by the Sashiko AI review bot while reviewing a\nrelated enum-validation series:\nhttps://lore.kernel.org/all/20260609125735.CEB651F00893@smtp.kernel.org/"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","baseScore":7.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The flaw is reached only via a local ALSA mixer control write (SNDRV_CTL_IOCTL_ELEM_WRITE on /dev/snd/controlC*) to the SDCA Group Entity \"Selected Mode\" enum exposed by ge_put_enum_double(); there is no network, Bluetooth, or physical-bus packet path to this handler.\nAC:L - An attacker can reliably issue a control write with an out-of-range enumerated index; the only extra condition is detected jack mode >2, which is satisfied by plugging a headset into the affected laptop's audio jack on typical SDCA-equipped systems.\nPR:L - Exploitation requires only local access to the ALSA control device, which on standard desktop and laptop distributions is available to unprivileged users in the audio group without CAP_SYS_ADMIN or init-namespace root.\nUI:N - No action by a separate victim is required; the attacker triggers the vulnerable put handler directly through their own ioctl or mixer-tool write to the affected control.\nS:U - The out-of-bounds read corrupts kernel heap metadata or leaks adjacent kernel memory within the same kernel security boundary; it does not by itself cross VM, container, or IOMMU isolation boundaries.\nC:H - snd_soc_enum_item_to_val() indexes the heap-allocated e->values[] array with attacker-controlled item[0] before any bounds check, enabling an out-of-bounds kernel heap read that can disclose adjacent sensitive kernel memory contents.\nI:N - The defect is an out-of-bounds read only; snd_soc_dapm_put_enum_double() still rejects invalid indices before any register write, so the bug does not directly modify kernel memory or achieve arbitrary write or code execution.\nA:H - A sufficiently large out-of-range enum index can read far beyond the small devm_kcalloc()-allocated values buffer and fault on unmapped kernel memory, causing a kernel oops or panic and denial of service on affected SDCA audio systems."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/sdca/sdca_asoc.c"],"versions":[{"version":"812ff1baa764080ba37bb0729e0c23c0e869b542","lessThan":"33387bf9bb6116a0429f823f8dab3accf8f8e09c","status":"affected","versionType":"git"},{"version":"812ff1baa764080ba37bb0729e0c23c0e869b542","lessThan":"1ce42a11bed134903e352010a01fa53073a6b395","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/sdca/sdca_asoc.c"],"versions":[{"version":"7.0","status":"affected"},{"version":"0","lessThan":"7.0","status":"unaffected","versionType":"semver"},{"version":"7.1.5","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/33387bf9bb6116a0429f823f8dab3accf8f8e09c"},{"url":"https://git.kernel.org/stable/c/1ce42a11bed134903e352010a01fa53073a6b395"}],"title":"ASoC: SDCA: Validate written enum value in ge_put_enum_double()","x_generator":{"engine":"bippy-1.2.0"}}}}