Skip to main content
← All vulnerabilities
CVE-2026-90031

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
None on Exploit-DB, Metasploit or GitHub

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 41e568d14ec0aca1b2bb19563517aad3b06d6805 · fixed in 9cd335f4f41e84d1ab88d80150ffee8dee9650d7; From 41e568d14ec0aca1b2bb19563517aad3b06d6805 · fixed in 8936d95dd04d34db96d4d1e3899eee52605bbedc; From 41e568d14ec0aca1b2bb19563517aad3b06d6805 · fixed in 9c261a83131e241d67cb73ab578d0265bc19cfb5; From 41e568d14ec0aca1b2bb19563517aad3b06d6805 · fixed in 9481bc04a8c351ed883a7f0e10939bbe9120ead7; From 41e568d14ec0aca1b2bb19563517aad3b06d6805 · fixed in 5082546702c32a2700894d2c0ace784e038ef6a3; From 41e568d14ec0aca1b2bb19563517aad3b06d6805 · fixed in 1c67f2ba9c5f7c5ab3670671c0d51c6504bcaf74; From 41e568d14ec0aca1b2bb19563517aad3b06d6805 · fixed in 996c319b8bd5ada1f62daae0d331d0b23e0f2117; From 41e568d14ec0aca1b2bb19563517aad3b06d6805 · fixed in 445fc368c6bc73eff0aeb3818cf5f355facfbb16

  • Linux Linux

    2.6.39

  • KernelLinux

    From 2.6.39 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5

References 8

git.kernel.org