Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_hid: don't call cdev_init while cdev in use When calling unbind, then bind again, cdev_init reinitialized the cdev, even though there may still be references to it. That's the case when the /dev/hidg* device is still opened. This obviously unsafe behavior like oopes. This fixes this by using cdev_alloc to put the cdev on the heap. That way, we can simply allocate a new one in hidg_bind.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected cb382536052fcc7713988869b54a81137069e5a9 before 3aa77f5da0ecb00895411f4246d8a3e4db0343c2; affected cb382536052fcc7713988869b54a81137069e5a9 before c6c0d13db5d0f8d465eabc14bd23d2b6a7247a43; affected cb382536052fcc7713988869b54a81137069e5a9 before eb6ef6185f2054a341ec70d7e2165f5381744215; affected cb382536052fcc7713988869b54a81137069e5a9 before 5a229016ca3ac551294ec59770be9da94ec4bf63; affected cb382536052fcc7713988869b54a81137069e5a9 before 75ecc46828ec377dd5692c677168ef6d64fd7123; affected cb382536052fcc7713988869b54a81137069e5a9 before 81ebd43cc0d6d106ce7b6ccbf7b5e40ca7f5503d |
| Linux / Linux | affected 3.19; unaffected 0 before 3.19; unaffected 6.6.160 through 6.6.*; unaffected 6.12.83 through 6.12.*; unaffected 6.18.24 through 6.18.*; unaffected 6.19.14 through 6.19.*; unaffected 7.0.1 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/3aa77f5da0ecb00895411f4246d8a3e4db0343c2
- https://git.kernel.org/stable/c/c6c0d13db5d0f8d465eabc14bd23d2b6a7247a43
- https://git.kernel.org/stable/c/eb6ef6185f2054a341ec70d7e2165f5381744215
- https://git.kernel.org/stable/c/5a229016ca3ac551294ec59770be9da94ec4bf63
- https://git.kernel.org/stable/c/75ecc46828ec377dd5692c677168ef6d64fd7123
- https://git.kernel.org/stable/c/81ebd43cc0d6d106ce7b6ccbf7b5e40ca7f5503d