usb: core: hcd: fix possible deadlock in rh control transfers
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: usb: core: hcd: fix possible deadlock in rh control transfers >From within the SCSI error handler memory allocations must not trigger IO. Handling errors in UAS and the storage driver may involve resetting a device. The thread doing the reset itself relies on VM magic. However, that is insufficient, as resetting a device involves resuming it. Resumption as well as resetting involves conrol transfers to the parent of the device to be reset. That may be a root hub. Hence usbcore must heed the flags passed to usb_submit_urb() processing control transfers to root hubs. The problem exist since the storage driver has been merged.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From e57e780b346a7277fdd3bde765d9d8728b99bfa1 · fixed in 8461eda5af77c44d216cec66455bd5b01ee35c9a; From e57e780b346a7277fdd3bde765d9d8728b99bfa1 · fixed in 8f82fc3d72e5feb7a1efae94b51b431c5bf41c86; From e57e780b346a7277fdd3bde765d9d8728b99bfa1 · fixed in 936b08d87c667031725bcc753007e7c1182548c6; From e57e780b346a7277fdd3bde765d9d8728b99bfa1 · fixed in d0291fb4d91982d9f6a680bf759ff0555d351ecb; From e57e780b346a7277fdd3bde765d9d8728b99bfa1 · fixed in fff917c85d37a294397c5440a795591ca9d6b602; From e57e780b346a7277fdd3bde765d9d8728b99bfa1 · fixed in 549672a3fb6b36ea408238f89ecf9f41d2da6225; From e57e780b346a7277fdd3bde765d9d8728b99bfa1 · fixed in d5559f43d76b398392b26a15cbc16d731969cd1c
- Linux Linux
3.12
- KernelLinux
From 3.12.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53
References 7
git.kernel.org
- stable/c/8461eda5af77c44d216cec66455bd5b01ee35c9a
- stable/c/8f82fc3d72e5feb7a1efae94b51b431c5bf41c86
- stable/c/936b08d87c667031725bcc753007e7c1182548c6
- stable/c/d0291fb4d91982d9f6a680bf759ff0555d351ecb
- stable/c/fff917c85d37a294397c5440a795591ca9d6b602
- stable/c/549672a3fb6b36ea408238f89ecf9f41d2da6225
- stable/c/d5559f43d76b398392b26a15cbc16d731969cd1c