CVE-2025-40269
Description
In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Fix potential overflow of PCM transfer buffer
The PCM stream data in USB-audio driver is transferred over USB URB packet buffers, and each packet size is determined dynamically. The packet sizes are limited by some factors such as wMaxPacketSize USB descriptor. OTOH, in the current code, the actually used packet sizes are determined only by the rate and the PPS, which may be bigger than the size limit above. This results in a buffer overflow, as reported by syzbot.
Basically when the limit is smaller than the calculated packet size, it implies that something is wrong, most likely a weird USB descriptor. So the best option would be just to return an error at the parameter setup time before doing any further operations.
This patch introduces such a sanity check, and returns -EINVAL when the packet size is greater than maxpacksize. The comparison with ep->packsize[1] alone should suffice since it's always equal or greater than ep->packsize[0].
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A buffer overflow in the Linux kernel's ALSA USB-audio driver occurs when dynamically calculated PCM packet sizes exceed the USB wMaxPacketSize limit, fixed by adding a sanity check.
Vulnerability
Overview
The Linux kernel's ALSA USB-audio driver contains a buffer overflow vulnerability in the PCM stream data transfer path. The driver dynamically determines USB URB packet sizes based on the audio rate and packets per second (PPS), but fails to verify that the calculated size does not exceed the USB endpoint's wMaxPacketSize limit. When a device reports a wMaxPacketSize smaller than the computed packet size—often due to a malformed USB descriptor—the driver writes beyond the allocated buffer, causing a memory corruption [1].
Exploitation
Prerequisites
An attacker would need to connect a malicious USB audio device to the target system, or the system must be configured to accept such devices. No special privileges are required beyond physical or logical access to a USB port. The vulnerability is triggered during PCM stream setup, before any audio data is transferred, meaning the attack surface is limited to the enumeration and configuration phase of a USB audio device.
Impact
Successful exploitation could lead to a buffer overflow in kernel memory, potentially resulting in a denial of service (system crash) or, in more severe scenarios, arbitrary code execution in the kernel context. The issue was reported by syzbot, indicating it is reachable from user space via USB device interaction.
Mitigation
The fix introduces a sanity check at parameter setup time: if the calculated packet size exceeds the endpoint's maxpacksize (specifically ep->packsize[1]), the driver returns -EINVAL and aborts the stream configuration. This prevents the overflow from occurring. The patch has been applied to the stable kernel tree [1]. Users should update to a kernel version containing this commit.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
13480a1490c595ab0b5e92fc36282aba56713bc4dc012b027ce0ed5a36fb3ad67dde02049e6a5da3fa80af217d47255a2eef592bf2232aece3b981bb6698e9d5e33bdad2c04f20ccc605a1fc5efdd8Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
13- git.kernel.org/stable/c/05a1fc5efdd8560f34a3af39c9cf1e1526cc3ddfnvd
- git.kernel.org/stable/c/217d47255a2ec8b246f2725f5db9ac3f1d4109d7nvd
- git.kernel.org/stable/c/282aba56713bbc58155716b55ca7222b2d9cf3c8nvd
- git.kernel.org/stable/c/480a1490c595a242f27493a4544b3efb21b29f6anvd
- git.kernel.org/stable/c/6a5da3fa80affc948923f20a4e086177f505e86envd
- git.kernel.org/stable/c/98e9d5e33bda8db875cc1a4fe99c192658e45ab6nvd
- git.kernel.org/stable/c/ab0b5e92fc36ee82c1bd01fe896d0f775ed5de41nvd
- git.kernel.org/stable/c/c4dc012b027c9eb101583011089dea14d744e314nvd
- git.kernel.org/stable/c/d2c04f20ccc6c0d219e6d3038bab45bc66a178adnvd
- git.kernel.org/stable/c/d67dde02049e632ba58d3c44a164a74b6a737154nvd
- git.kernel.org/stable/c/e0ed5a36fb3ab9e7b9ee45cd17f09f6d5f594360nvd
- git.kernel.org/stable/c/ece3b981bb6620e47fac826a2156c090b1a936a0nvd
- git.kernel.org/stable/c/ef592bf2232a2daa9fffa8881881fc9957ea56e9nvd
News mentions
0No linked articles in our index yet.