CVE-2026-74498 (GCVE-0-2026-74498)
Vulnerability from cvelistv5
Published
2026-08-15 12:27
Modified
2026-08-19 16:37
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set
When a USB audio endpoint requests full packet transfers via the fill_max
descriptor flag, data_ep_set_params() promotes ep->curpacksize to
ep->maxpacksize. However, maxsize is left at the original sample-rate
derived value.
Since u->buffer_size is allocated as maxsize * packets, the resulting
DMA buffer is far too small for the requested transfer length. When the
USB host controller streams up to curpacksize bytes per packet, it writes
past the end of the buffer via DMA, corrupting kernel heap memory.
Update maxsize to curpacksize when fill_max is set so that the allocated
DMA buffer size matches the actual transfer request size.
[ changed to reassign maxsize only when ep->fill_max is set -- tiwai ]
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Version: 8fdff6a319e7dac757c558bd283dc4577e68cde7 Version: 8fdff6a319e7dac757c558bd283dc4577e68cde7 Version: 8fdff6a319e7dac757c558bd283dc4577e68cde7 Version: 8fdff6a319e7dac757c558bd283dc4577e68cde7 Version: 8fdff6a319e7dac757c558bd283dc4577e68cde7 Version: 8fdff6a319e7dac757c558bd283dc4577e68cde7 Version: 8fdff6a319e7dac757c558bd283dc4577e68cde7 Version: 8fdff6a319e7dac757c558bd283dc4577e68cde7 |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"sound/usb/endpoint.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "10c24e6fddf4bdff0b6b05a47a4347b38e6960e8",
"status": "affected",
"version": "8fdff6a319e7dac757c558bd283dc4577e68cde7",
"versionType": "git"
},
{
"lessThan": "b1770f9ac35c0ffc34914d52347c65dcd5ac049b",
"status": "affected",
"version": "8fdff6a319e7dac757c558bd283dc4577e68cde7",
"versionType": "git"
},
{
"lessThan": "6cbdd11f9b05b92f4aa29f09a66e19ed0e25e66c",
"status": "affected",
"version": "8fdff6a319e7dac757c558bd283dc4577e68cde7",
"versionType": "git"
},
{
"lessThan": "3852974608f53e530e27c21d0c6c7d79c17b3f5a",
"status": "affected",
"version": "8fdff6a319e7dac757c558bd283dc4577e68cde7",
"versionType": "git"
},
{
"lessThan": "f9b6c9576568169139ac151f7881474f384659fd",
"status": "affected",
"version": "8fdff6a319e7dac757c558bd283dc4577e68cde7",
"versionType": "git"
},
{
"lessThan": "04595233e5606d452f9f47e6989fc7ae7440fd40",
"status": "affected",
"version": "8fdff6a319e7dac757c558bd283dc4577e68cde7",
"versionType": "git"
},
{
"lessThan": "bd65b7191683bebd9923904f0558b9211b9129da",
"status": "affected",
"version": "8fdff6a319e7dac757c558bd283dc4577e68cde7",
"versionType": "git"
},
{
"lessThan": "d0199ae1666ff9ae2d1d568d64c3430d4c47f0e5",
"status": "affected",
"version": "8fdff6a319e7dac757c558bd283dc4577e68cde7",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"sound/usb/endpoint.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "3.5"
},
{
"lessThan": "3.5",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.265",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.216",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.183",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.151",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.103",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.44",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.8",
"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": "5.10.265",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.216",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.183",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.151",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.103",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.44",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.8",
"versionStartIncluding": "3.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "3.5",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set\n\nWhen a USB audio endpoint requests full packet transfers via the fill_max\ndescriptor flag, data_ep_set_params() promotes ep-\u003ecurpacksize to\nep-\u003emaxpacksize. However, maxsize is left at the original sample-rate\nderived value.\n\nSince u-\u003ebuffer_size is allocated as maxsize * packets, the resulting\nDMA buffer is far too small for the requested transfer length. When the\nUSB host controller streams up to curpacksize bytes per packet, it writes\npast the end of the buffer via DMA, corrupting kernel heap memory.\n\nUpdate maxsize to curpacksize when fill_max is set so that the allocated\nDMA buffer size matches the actual transfer request size.\n\n[ changed to reassign maxsize only when ep-\u003efill_max is set -- tiwai ]"
}
],
"providerMetadata": {
"dateUpdated": "2026-08-19T16:37:57.897Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/10c24e6fddf4bdff0b6b05a47a4347b38e6960e8"
},
{
"url": "https://git.kernel.org/stable/c/b1770f9ac35c0ffc34914d52347c65dcd5ac049b"
},
{
"url": "https://git.kernel.org/stable/c/6cbdd11f9b05b92f4aa29f09a66e19ed0e25e66c"
},
{
"url": "https://git.kernel.org/stable/c/3852974608f53e530e27c21d0c6c7d79c17b3f5a"
},
{
"url": "https://git.kernel.org/stable/c/f9b6c9576568169139ac151f7881474f384659fd"
},
{
"url": "https://git.kernel.org/stable/c/04595233e5606d452f9f47e6989fc7ae7440fd40"
},
{
"url": "https://git.kernel.org/stable/c/bd65b7191683bebd9923904f0558b9211b9129da"
},
{
"url": "https://git.kernel.org/stable/c/d0199ae1666ff9ae2d1d568d64c3430d4c47f0e5"
}
],
"title": "ALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74498",
"datePublished": "2026-08-15T12:27:25.123Z",
"dateReserved": "2026-08-15T05:44:03.907Z",
"dateUpdated": "2026-08-19T16:37:57.897Z",
"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…