In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Fix out-of-bounds read in sndusbgetaudioformatuac3()
In sndusbgetaudioformatuac3(), the length value returned from sndusbctl_msg() is used directly for memory allocation without validation. This length is controlled by the USB device.
The allocated buffer is cast to a uac3clusterheader_descriptor and its fields are accessed without verifying that the buffer is large enough. If the device returns a smaller than expected length, this leads to an out-of-bounds read.
Add a length check to ensure the buffer is large enough for uac3clusterheader_descriptor.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38249.json",
"cna_assigner": "Linux"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38249.json"
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@74fcb3852a2f579151ce80b9ed96cd916ba0d5d8",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2025-38249-a7b15ef6",
"digest": {
"length": 4533.0,
"function_hash": "31730665804353816998513253596274702346"
},
"signature_type": "Function",
"target": {
"file": "sound/usb/stream.c",
"function": "snd_usb_get_audioformat_uac3"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@74fcb3852a2f579151ce80b9ed96cd916ba0d5d8",
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2025-38249-df0bbb11",
"digest": {
"threshold": 0.9,
"line_hashes": [
"51951503075025226679855451308370659261",
"322935814620359597143623188370794788116",
"335191877476426226689691855940696752964",
"260009219810201581178565665453204677871"
]
},
"signature_type": "Line",
"target": {
"file": "sound/usb/stream.c"
}
}
]