usb: gadget: f_printer: take kref only for successful open
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.
02 / AFFECTED SOFTWARE
Affected packages
1575 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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.
05 / REFERENCES
Further evidence
- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
- https://git.kernel.org/stable/c/30adce93d5c4a5a1ec29d9249e3fdfcc391d406b
- https://git.kernel.org/stable/c/75c0ad13e136961328253742501b4efc3988a587
- https://git.kernel.org/stable/c/7f1f24c367938c5537e2308bf9a965f051d14774
- https://git.kernel.org/stable/c/8a5eba992c862b0c94411eecf9b7121e8636db38
- https://git.kernel.org/stable/c/94ec20d97aa51547965a539f660a1fe79c6929a3
- https://git.kernel.org/stable/c/bf20c94fa6aaff945f0ae3a23f3212cd299f28d9
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64345.json
- https://nvd.nist.gov/vuln/detail/CVE-2026-64345