CVE-2026-74680

Summary

In the Linux kernel, the following vulnerability has been resolved:

usb: atm: cxacru: properly kill rcv_urb on error in cxacru_cm()

If cxacru_cm() encounters an error while submitting or waiting for snd_urb, it aborts and returns the error without killing the already submitted rcv_urb. This leaves the rcv_urb active.

When this happens during initialization (e.g., in cxacru_atm_start()), the driver may ignore the error and proceed to call cxacru_poll_status(), which invokes cxacru_cm() again. Attempting to submit the still-active rcv_urb triggers a warning in usb_submit_urb():

cxacru 1-1:1.0: send of cm 0x84 failed (-104) ATM dev 0: cxacru_atm_start: CHIP_ADSL_LINE_START returned -104 ————[ cut here ]———— URB ffff88812658d200 submitted while active WARNING: drivers/usb/core/urb.c:379 at usb_submit_urb+0x79/0x18b0 drivers/usb/core/urb.c:379 … Call Trace: <TASK> cxacru_cm+0x21a/0xf10 drivers/usb/atm/cxacru.c:631 cxacru_cm_get_array drivers/usb/atm/cxacru.c:722 [inline] cxacru_poll_status+0x178/0x1110 drivers/usb/atm/cxacru.c:828 cxacru_atm_start+0x185/0x360 drivers/usb/atm/cxacru.c:814 usbatm_atm_init+0x144/0x3a0 drivers/usb/atm/usbatm.c:927 usbatm_usb_probe+0x15cb/0x1db0 drivers/usb/atm/usbatm.c:1178 cxacru_usb_probe+0x17f/0x220 drivers/usb/atm/cxacru.c:1370 …

To fix this, ensure that rcv_urb is properly killed if cxacru_cm() aborts early. We can safely call usb_kill_urb() on rcv_urb in the error path, as it is safe to call even if the URB is not active (e.g., if it failed to submit in the first place, or if it already completed).

Affected Software

VendorProductVersion RangeStatus
LinuxLinux1b0e614652344a2d39eb336f3dc07651782883bf < 6133b461058316e3ccba7331f974d110d4c08b23affected
LinuxLinux1b0e614652344a2d39eb336f3dc07651782883bf < 61093d7f1144f6a15bac505df35e5f535ade2ac1affected
LinuxLinux1b0e614652344a2d39eb336f3dc07651782883bf < 645d98dbccdbfdbf0129f48822af7183492de091affected
LinuxLinux1b0e614652344a2d39eb336f3dc07651782883bf < 993f7677949e3d72e360e86eed1f41c2511f75edaffected
LinuxLinux1b0e614652344a2d39eb336f3dc07651782883bf < 939b6a41f681aea52af678053072ee443068e93eaffected
LinuxLinux1b0e614652344a2d39eb336f3dc07651782883bf < 2f73a065791d2a8e3f0bdf29248e33600359e865affected
LinuxLinux1b0e614652344a2d39eb336f3dc07651782883bf < 0af047703dbed8224552587ed436f14a24371b46affected
LinuxLinux1b0e614652344a2d39eb336f3dc07651782883bf < c2f811314be351d86b6ab41e9297ae80d8da6f86affected
LinuxLinux2.6.13affected
LinuxLinux0 < 2.6.13unaffected
LinuxLinux5.10.265 <= 5.10.*unaffected
LinuxLinux5.15.216 <= 5.15.*unaffected
LinuxLinux6.1.183 <= 6.1.*unaffected
LinuxLinux6.6.152 <= 6.6.*unaffected
LinuxLinux6.12.104 <= 6.12.*unaffected
LinuxLinux6.18.45 <= 6.18.*unaffected
LinuxLinux7.1.9 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References