CVE-2025-21916

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/04/2025
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> usb: atm: cxacru: fix a flaw in existing endpoint checks<br /> <br /> Syzbot once again identified a flaw in usb endpoint checking, see [1].<br /> This time the issue stems from a commit authored by me (2eabb655a968<br /> ("usb: atm: cxacru: fix endpoint checking in cxacru_bind()")).<br /> <br /> While using usb_find_common_endpoints() may usually be enough to<br /> discard devices with wrong endpoints, in this case one needs more<br /> than just finding and identifying the sufficient number of endpoints<br /> of correct types - one needs to check the endpoint&amp;#39;s address as well.<br /> <br /> Since cxacru_bind() fills URBs with CXACRU_EP_CMD address in mind,<br /> switch the endpoint verification approach to usb_check_XXX_endpoints()<br /> instead to fix incomplete ep testing.<br /> <br /> [1] Syzbot report:<br /> usb 5-1: BOGUS urb xfer, pipe 3 != type 1<br /> WARNING: CPU: 0 PID: 1378 at drivers/usb/core/urb.c:504 usb_submit_urb+0xc4e/0x18c0 drivers/usb/core/urb.c:503<br /> ...<br /> RIP: 0010:usb_submit_urb+0xc4e/0x18c0 drivers/usb/core/urb.c:503<br /> ...<br /> Call Trace:<br /> <br /> cxacru_cm+0x3c8/0xe50 drivers/usb/atm/cxacru.c:649<br /> cxacru_card_status drivers/usb/atm/cxacru.c:760 [inline]<br /> cxacru_bind+0xcf9/0x1150 drivers/usb/atm/cxacru.c:1223<br /> usbatm_usb_probe+0x314/0x1d30 drivers/usb/atm/usbatm.c:1058<br /> cxacru_usb_probe+0x184/0x220 drivers/usb/atm/cxacru.c:1377<br /> usb_probe_interface+0x641/0xbb0 drivers/usb/core/driver.c:396<br /> really_probe+0x2b9/0xad0 drivers/base/dd.c:658<br /> __driver_probe_device+0x1a2/0x390 drivers/base/dd.c:800<br /> driver_probe_device+0x50/0x430 drivers/base/dd.c:830<br /> ...

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.19.317 (including) 4.20 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.4.279 (including) 5.4.291 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.10.221 (including) 5.10.235 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.162 (including) 5.15.179 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.1.97 (including) 6.1.131 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.37 (including) 6.6.83 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.9.8 (including) 6.10 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.10.1 (including) 6.12.19 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.13.7 (excluding)
cpe:2.3:o:linux:linux_kernel:6.10:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.14:rc3:*:*:*:*:*:*