一、 漏洞 CVE-2025-21704 基础信息
漏洞标题
USB: CDC-ACM: 在访问控制传输缓冲区之前检查其大小
来源:AIGC 神龙大模型
漏洞描述信息
在Linux内核中,已解决了以下漏洞: usb: cdc-acm: 在访问之前检查控制传输缓冲区大小 如果第一个片段比struct usb_cdc_notification短,我们无法计算expected_size。记录错误并丢弃通知,而不是从接收到的数据之外的内存中读取长度。这可能导致内存损坏,特别是在fragments之间expected_size减少的情况下,导致`expected_size - acm->nb_index`溢出。 此问题自git历史记录开始就存在;然而,只有在提交ea2583529cd1("cdc-acm: reassemble fragmented notifications")之后才会导致内存损坏。 缓解因素是acm_ctrl_irq()只能在用户空间打开/dev/ttyACM*后执行;但如果ModemManager正在运行,它会根据USB设备的厂商/产品ID及其其他接口自动执行该操作。
来源:AIGC 神龙大模型
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
来源:AIGC 神龙大模型
漏洞类别
跨界内存写
来源:AIGC 神龙大模型
漏洞标题
usb: cdc-acm: Check control transfer buffer size before access
来源:美国国家漏洞数据库 NVD
漏洞描述信息
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.
来源:美国国家漏洞数据库 NVD
CVSS信息
N/A
来源:美国国家漏洞数据库 NVD
漏洞类别
N/A
来源:美国国家漏洞数据库 NVD
二、漏洞 CVE-2025-21704 的公开POC
# POC 描述 源链接 神龙链接
三、漏洞 CVE-2025-21704 的情报信息
  • 标题: usb: cdc-acm: Check control transfer buffer size before access - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接

    标签:

  • 标题: usb: cdc-acm: Check control transfer buffer size before access - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接

    标签:

  • 标题: usb: cdc-acm: Check control transfer buffer size before access - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接

    标签:

  • 标题: usb: cdc-acm: Check control transfer buffer size before access - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接

    标签:

  • 标题: usb: cdc-acm: Check control transfer buffer size before access - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接

    标签:

  • https://nvd.nist.gov/vuln/detail/CVE-2025-21704