CVE-2026-72415 (GCVE-0-2026-72415)
Vulnerability from cvelistv5
Published
2026-08-15 05:56
Modified
2026-08-17 05:43
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
ASoC: SDCA: Validate written enum value in ge_put_enum_double()
ge_put_enum_double() passes the user-supplied enumeration index
item[0] to snd_soc_enum_item_to_val() without checking it against the
number of items in the enum:
ret = snd_soc_enum_item_to_val(e, item[0]);
snd_soc_enum_item_to_val() indexes the heap-allocated e->values[] array
with that index (e->values is set from a devm_kcalloc() of e->items
entries), so a control write with an out-of-range item[0] reads past the
end of the values buffer. The bounds check in
snd_soc_dapm_put_enum_double() only runs afterwards, so it does not
prevent the read here.
Reject an out-of-range item before using it, matching the other enum put
handlers.
This issue was pointed out by the Sashiko AI review bot while reviewing a
related enum-validation series:
https://lore.kernel.org/all/20260609125735.CEB651F00893@smtp.kernel.org/
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"sound/soc/sdca/sdca_asoc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "33387bf9bb6116a0429f823f8dab3accf8f8e09c",
"status": "affected",
"version": "812ff1baa764080ba37bb0729e0c23c0e869b542",
"versionType": "git"
},
{
"lessThan": "1ce42a11bed134903e352010a01fa53073a6b395",
"status": "affected",
"version": "812ff1baa764080ba37bb0729e0c23c0e869b542",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"sound/soc/sdca/sdca_asoc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "7.0"
},
{
"lessThan": "7.0",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.5",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.5",
"versionStartIncluding": "7.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "7.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"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-\u003evalues[] array\nwith that index (e-\u003evalues is set from a devm_kcalloc() of e-\u003eitems\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": {
"baseScore": 7.1,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
"version": "3.1"
},
"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 \u003e2, which is satisfied by plugging a headset into the affected laptop\u0027s 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-\u003evalues[] 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."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-17T05:43:55.069Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"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"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-72415",
"datePublished": "2026-08-15T05:56:36.210Z",
"dateReserved": "2026-08-09T03:40:39.927Z",
"dateUpdated": "2026-08-17T05:43:55.069Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…