CVE-2026-90031

Summary

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

usb-storage: ene_ub6250: fix race between scan work and probe

ene_ub6250_probe() calls usb_stor_probe2(), which starts the usb-storage infrastructure and schedules the delayed scan work. The driver then calls ene_get_card_type(), which sends an ENE command through ene_send_scsi_cmd() and the usb-storage bulk transfer helpers.

Both the delayed scan work, through usb_stor_Bulk_max_lun(), and ene_get_card_type() use us->current_urb. The scan work serializes this access with us->dev_mutex, but the ENE card-type probe does not. If the scan work runs while ene_get_card_type() is still using us->current_urb, usb_submit_urb() warns that the URB is already active.

Serialize ene_get_card_type() with us->dev_mutex, matching the locking used by the scan path.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 9cd335f4f41e84d1ab88d80150ffee8dee9650d7affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 8936d95dd04d34db96d4d1e3899eee52605bbedcaffected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 9c261a83131e241d67cb73ab578d0265bc19cfb5affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 9481bc04a8c351ed883a7f0e10939bbe9120ead7affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 5082546702c32a2700894d2c0ace784e038ef6a3affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 1c67f2ba9c5f7c5ab3670671c0d51c6504bcaf74affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 996c319b8bd5ada1f62daae0d331d0b23e0f2117affected
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 445fc368c6bc73eff0aeb3818cf5f355facfbb16affected
LinuxLinux0 < 5.10.270affected
LinuxLinux0 < 5.15.221affected
LinuxLinux0 < 6.1.188affected
LinuxLinux0 < 6.6.157affected
LinuxLinux0 < 6.12.110affected
LinuxLinux0 < 6.18.51affected
LinuxLinux0 < 7.2.5affected
LinuxLinux5.10.270 <= 5.10.*unaffected
LinuxLinux5.15.221 <= 5.15.*unaffected
LinuxLinux6.1.188 <= 6.1.*unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.51 <= 6.18.*unaffected
LinuxLinux7.2.5 <= 7.2.*unaffected
LinuxLinux7.3-rc2 <= *unaffected

Weaknesses

References