Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: USB: ldusb: fix use-after-free on disconnect race mutex_unlock() may access the mutex structure after releasing the lock and therefore cannot be used to manage lifetime of objects directly (unlike spinlocks and refcounts). [1][2] Use a kref to release the driver data to avoid use-after-free in mutex_unlock() when release() races with disconnect(). [1] a51749ab34d9 ("locking/mutex: Document that mutex_unlock() is non-atomic") [2] 2b9d9e0a9ba0 ("locking/mutex: Clarify that mutex_unlock(), and most other sleeping locks, can still use the lock object after it's unlocked")
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected ce0d7d3f575fc1ba6a89c3c651e710355590daff before fc55923a972e715f9a27187b47d4920709e23d85; affected ce0d7d3f575fc1ba6a89c3c651e710355590daff before e5a9bdce4bfd3e2226b5f3df5fb8385d6935ee69; affected ce0d7d3f575fc1ba6a89c3c651e710355590daff before af59829e67e11ba2511a9f8e4b9111afc7d1f550; affected ce0d7d3f575fc1ba6a89c3c651e710355590daff before 02ca08fff74cf9b0a3c4d2cacde1c6edeeb95bb4; affected ce0d7d3f575fc1ba6a89c3c651e710355590daff before d8f69404e1d671326f86d378b9f5bfbd56490e9d; affected ce0d7d3f575fc1ba6a89c3c651e710355590daff before 2107a4fc8ff1cf1d52f416c1e5cc8e97413a5915; affected ce0d7d3f575fc1ba6a89c3c651e710355590daff before a3e794136ab5e3ad1e7019175a4b837aec86db4b; affected ce0d7d3f575fc1ba6a89c3c651e710355590daff before 19bdfc7b3c179331eafa423d87e1336f43bbfeb8 |
| Linux / Linux | affected 2.6.26; unaffected 0 before 2.6.26; unaffected 5.10.261 through 5.10.*; unaffected 5.15.212 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.96 through 6.12.*; unaffected 6.18.39 through 6.18.*; unaffected 7.1.4 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/fc55923a972e715f9a27187b47d4920709e23d85
- https://git.kernel.org/stable/c/e5a9bdce4bfd3e2226b5f3df5fb8385d6935ee69
- https://git.kernel.org/stable/c/af59829e67e11ba2511a9f8e4b9111afc7d1f550
- https://git.kernel.org/stable/c/02ca08fff74cf9b0a3c4d2cacde1c6edeeb95bb4
- https://git.kernel.org/stable/c/d8f69404e1d671326f86d378b9f5bfbd56490e9d
- https://git.kernel.org/stable/c/2107a4fc8ff1cf1d52f416c1e5cc8e97413a5915
- https://git.kernel.org/stable/c/a3e794136ab5e3ad1e7019175a4b837aec86db4b
- https://git.kernel.org/stable/c/19bdfc7b3c179331eafa423d87e1336f43bbfeb8