USB: legousbtower: fix use-after-free on disconnect race
3Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackepss 0.2%
exploitation probability
0.2%top 93% of all CVEs
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
USB: legousbtower: 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 products
Linux · LinuxReferences
https://git.kernel.org/stable/c/0b57e5ddbd89df3bc367463de3d2ca66f99a1a5ehttps://git.kernel.org/stable/c/11d069f85851997b4ea0adf242ed9672dc749b8fhttps://git.kernel.org/stable/c/62fc8eb1b1481051f7bab4aa93d79809053dd09fhttps://git.kernel.org/stable/c/6462de75d2e370c7e74dcfb7b4ae79eb5a6a55eehttps://git.kernel.org/stable/c/766738ecf2b819e54d38763c8d1c8ae6cff14b39https://git.kernel.org/stable/c/9ba62966461a8e3cc593b62c56ec62eb2d80436dhttps://git.kernel.org/stable/c/ab2bfd7bec4f134b377ec42f513e90c35db94160https://git.kernel.org/stable/c/b4222c05066b252b451f9c8c4730b5b60824ea66