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.
Metrics
Affected Vendors & Products
References
History
Tue, 25 Mar 2025 12:30:00 +0000
Type | Values Removed | Values Added |
---|---|---|
References |
|
Thu, 13 Mar 2025 12:30:00 +0000
Type | Values Removed | Values Added |
---|---|---|
References |
|
Thu, 27 Feb 2025 02:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Metrics |
threat_severity
|
threat_severity
|
Tue, 25 Feb 2025 01:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Weaknesses | CWE-130 | |
References |
| |
Metrics |
threat_severity
|
cvssV3_1
|
Sat, 22 Feb 2025 10:00:00 +0000
Type | Values Removed | Values Added |
---|---|---|
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. | |
Title | usb: cdc-acm: Check control transfer buffer size before access | |
References |
|
|

Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-03-25T12:21:01.932Z
Reserved: 2024-12-29T08:45:45.751Z
Link: CVE-2025-21704

No data.

Status : Awaiting Analysis
Published: 2025-02-22T10:15:11.263
Modified: 2025-03-25T13:15:40.507
Link: CVE-2025-21704
