CVE-2025-21704

HIGH

Linux Kernel - Out-of-bounds Write in CDC-ACM Notification Handling

Title source: llm
STIX 2.1

Description

In the Linux kernel, the following vulnerability has been resolved: usb: cdc-acm: Check control transfer buffer size before access If the first fragment is shorter than struct usb_cdc_notification, we can't calculate an expected_size. Log an error and discard the notification instead of reading lengths from memory outside the received data, which can lead to memory corruption when the expected_size decreases between fragments, causing `expected_size - acm->nb_index` to wrap. This issue has been present since the beginning of git history; however, it only leads to memory corruption since commit ea2583529cd1 ("cdc-acm: reassemble fragmented notifications"). A mitigating factor is that acm_ctrl_irq() can only execute after userspace has opened /dev/ttyACM*; but if ModemManager is running, ModemManager will do that automatically depending on the USB device's vendor/product IDs and its other interfaces.

Scores

CVSS v3 7.8
EPSS 0.0032
EPSS Percentile 23.6%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Details

CWE
CWE-787
Status published
Products (28)
linux/Kernel 2.6.12 - 5.4.291linux
linux/Kernel 5.11.0 - 5.15.179linux
linux/Kernel 5.16.0 - 6.1.129linux
linux/Kernel 5.5.0 - 5.10.235linux
linux/Kernel 6.13.0 - 6.13.4linux
linux/Kernel 6.2.0 - 6.6.79linux
linux/Kernel 6.7.0 - 6.12.16linux
Linux/Linux < 2.6.12
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 383d516a0ebc8641372b521c8cb717f0f1834831
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - 6abb510251e75f875797d8983a830e6731fa281c
... and 18 more
Published Feb 22, 2025
Tracked Since Feb 18, 2026