Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_printer: take kref only for successful open printer_open() returns -EBUSY when the character device is already open, but it increments dev->kref regardless of the return value. VFS does not call ->release() for a failed open, so every rejected second open permanently leaks one reference. Move kref_get() into the successful-open branch.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected e8d5f92b8d30bb4ade76494490c3c065e12411b1 before 94ec20d97aa51547965a539f660a1fe79c6929a3; affected e8d5f92b8d30bb4ade76494490c3c065e12411b1 before 75c0ad13e136961328253742501b4efc3988a587; affected e8d5f92b8d30bb4ade76494490c3c065e12411b1 before bf20c94fa6aaff945f0ae3a23f3212cd299f28d9; affected e8d5f92b8d30bb4ade76494490c3c065e12411b1 before 8a5eba992c862b0c94411eecf9b7121e8636db38; affected e8d5f92b8d30bb4ade76494490c3c065e12411b1 before 7f1f24c367938c5537e2308bf9a965f051d14774; affected e8d5f92b8d30bb4ade76494490c3c065e12411b1 before 30adce93d5c4a5a1ec29d9249e3fdfcc391d406b; affected 25c95c6bd4dc50a3c20de0fa7f450ea02b2320fc; affected 4a47581cf010dc351d8069978080fdb000c0776d; affected d9fe88b2a38dc700bf5bd3a09c7cd11bbc248367; affected cedb0187b8ba929c3f76f28e6bc25804d65f8a54; affected e9e791f5c39ab30e374a3b1a9c25ca7ff24988f3; affected 34f026263889e2827e04acdc3a0eb9ecbd191ef0; affected 5f845e5d18d151230476cf90aa46449f69ba2ef1; affected 4.4.241 before 4.5; affected 4.9.241 before 4.10; affected 4.14.203 before 4.15; affected 4.19.154 before 4.20; affected 5.4.73 before 5.5; affected 5.8.17 before 5.9; affected 5.9.2 before 5.10 |
| Linux / Linux | affected 5.10; unaffected 0 before 5.10; unaffected 5.10.261 through 5.10.*; 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/94ec20d97aa51547965a539f660a1fe79c6929a3
- https://git.kernel.org/stable/c/75c0ad13e136961328253742501b4efc3988a587
- https://git.kernel.org/stable/c/bf20c94fa6aaff945f0ae3a23f3212cd299f28d9
- https://git.kernel.org/stable/c/8a5eba992c862b0c94411eecf9b7121e8636db38
- https://git.kernel.org/stable/c/7f1f24c367938c5537e2308bf9a965f051d14774
- https://git.kernel.org/stable/c/30adce93d5c4a5a1ec29d9249e3fdfcc391d406b