CVE-2026-64345
usb: gadget: f_printer: take kref only for successful open
Description
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.
INFO
Published Date :
July 25, 2026, 10:17 a.m.
Last Modified :
Aug. 17, 2026, 5:17 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
- Move kref_get() into the successful-open branch.
- Ensure kref_get() is called only on successful open.
- Verify resource management in gadget driver.
- Apply the provided patch for usb: gadget: f_printer.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-64345.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-64345 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-64345
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-64345 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-64345 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '94ec20d97aa51547965a539f660a1fe79c6929a3', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '75c0ad13e136961328253742501b4efc3988a587', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': 'bf20c94fa6aaff945f0ae3a23f3212cd299f28d9', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '8a5eba992c862b0c94411eecf9b7121e8636db38', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '7f1f24c367938c5537e2308bf9a965f051d14774', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '30adce93d5c4a5a1ec29d9249e3fdfcc391d406b', 'versionType': 'git'}, {'status': 'affected', 'version': '25c95c6bd4dc50a3c20de0fa7f450ea02b2320fc', 'versionType': 'git'}, {'status': 'affected', 'version': '4a47581cf010dc351d8069978080fdb000c0776d', 'versionType': 'git'}, {'status': 'affected', 'version': 'd9fe88b2a38dc700bf5bd3a09c7cd11bbc248367', 'versionType': 'git'}, {'status': 'affected', 'version': 'cedb0187b8ba929c3f76f28e6bc25804d65f8a54', 'versionType': 'git'}, {'status': 'affected', 'version': 'e9e791f5c39ab30e374a3b1a9c25ca7ff24988f3', 'versionType': 'git'}, {'status': 'affected', 'version': '34f026263889e2827e04acdc3a0eb9ecbd191ef0', 'versionType': 'git'}, {'status': 'affected', 'version': '5f845e5d18d151230476cf90aa46449f69ba2ef1', 'versionType': 'git'}, {'status': 'affected', 'version': '4.4.241', 'lessThan': '4.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.9.241', 'lessThan': '4.10', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.14.203', 'lessThan': '4.15', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.19.154', 'lessThan': '4.20', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.4.73', 'lessThan': '5.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.8.17', 'lessThan': '5.9', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.9.2', 'lessThan': '5.10', 'versionType': 'semver'}], 'programFiles': ['drivers/usb/gadget/function/f_printer.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/usb/gadget/function/f_printer.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '94ec20d97aa51547965a539f660a1fe79c6929a3', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '75c0ad13e136961328253742501b4efc3988a587', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': 'bf20c94fa6aaff945f0ae3a23f3212cd299f28d9', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '8a5eba992c862b0c94411eecf9b7121e8636db38', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '7f1f24c367938c5537e2308bf9a965f051d14774', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '30adce93d5c4a5a1ec29d9249e3fdfcc391d406b', 'versionType': 'git'}, {'status': 'affected', 'version': '25c95c6bd4dc50a3c20de0fa7f450ea02b2320fc', 'versionType': 'git'}, {'status': 'affected', 'version': '4a47581cf010dc351d8069978080fdb000c0776d', 'versionType': 'git'}, {'status': 'affected', 'version': 'd9fe88b2a38dc700bf5bd3a09c7cd11bbc248367', 'versionType': 'git'}, {'status': 'affected', 'version': 'cedb0187b8ba929c3f76f28e6bc25804d65f8a54', 'versionType': 'git'}, {'status': 'affected', 'version': 'e9e791f5c39ab30e374a3b1a9c25ca7ff24988f3', 'versionType': 'git'}, {'status': 'affected', 'version': '34f026263889e2827e04acdc3a0eb9ecbd191ef0', 'versionType': 'git'}, {'status': 'affected', 'version': '5f845e5d18d151230476cf90aa46449f69ba2ef1', 'versionType': 'git'}, {'status': 'affected', 'version': '4.4.241', 'lessThan': '4.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.9.241', 'lessThan': '4.10', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.14.203', 'lessThan': '4.15', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.19.154', 'lessThan': '4.20', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.4.73', 'lessThan': '5.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.8.17', 'lessThan': '5.9', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.9.2', 'lessThan': '5.10', 'versionType': 'semver'}], 'programFiles': ['drivers/usb/gadget/function/f_printer.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/usb/gadget/function/f_printer.c'], 'defaultStatus': 'affected'}] -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 25, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '94ec20d97aa51547965a539f660a1fe79c6929a3', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '75c0ad13e136961328253742501b4efc3988a587', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': 'bf20c94fa6aaff945f0ae3a23f3212cd299f28d9', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '8a5eba992c862b0c94411eecf9b7121e8636db38', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '7f1f24c367938c5537e2308bf9a965f051d14774', 'versionType': 'git'}, {'status': 'affected', 'version': 'e8d5f92b8d30bb4ade76494490c3c065e12411b1', 'lessThan': '30adce93d5c4a5a1ec29d9249e3fdfcc391d406b', 'versionType': 'git'}, {'status': 'affected', 'version': '25c95c6bd4dc50a3c20de0fa7f450ea02b2320fc', 'versionType': 'git'}, {'status': 'affected', 'version': '4a47581cf010dc351d8069978080fdb000c0776d', 'versionType': 'git'}, {'status': 'affected', 'version': 'd9fe88b2a38dc700bf5bd3a09c7cd11bbc248367', 'versionType': 'git'}, {'status': 'affected', 'version': 'cedb0187b8ba929c3f76f28e6bc25804d65f8a54', 'versionType': 'git'}, {'status': 'affected', 'version': 'e9e791f5c39ab30e374a3b1a9c25ca7ff24988f3', 'versionType': 'git'}, {'status': 'affected', 'version': '34f026263889e2827e04acdc3a0eb9ecbd191ef0', 'versionType': 'git'}, {'status': 'affected', 'version': '5f845e5d18d151230476cf90aa46449f69ba2ef1', 'versionType': 'git'}, {'status': 'affected', 'version': '4.4.241', 'lessThan': '4.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.9.241', 'lessThan': '4.10', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.14.203', 'lessThan': '4.15', 'versionType': 'semver'}, {'status': 'affected', 'version': '4.19.154', 'lessThan': '4.20', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.4.73', 'lessThan': '5.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.8.17', 'lessThan': '5.9', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.9.2', 'lessThan': '5.10', 'versionType': 'semver'}], 'programFiles': ['drivers/usb/gadget/function/f_printer.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/usb/gadget/function/f_printer.c'], 'defaultStatus': 'affected'}] Added Description 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. Added Reference https://git.kernel.org/stable/c/30adce93d5c4a5a1ec29d9249e3fdfcc391d406b Added Reference https://git.kernel.org/stable/c/75c0ad13e136961328253742501b4efc3988a587 Added Reference https://git.kernel.org/stable/c/7f1f24c367938c5537e2308bf9a965f051d14774 Added Reference https://git.kernel.org/stable/c/8a5eba992c862b0c94411eecf9b7121e8636db38 Added Reference https://git.kernel.org/stable/c/94ec20d97aa51547965a539f660a1fe79c6929a3 Added Reference https://git.kernel.org/stable/c/bf20c94fa6aaff945f0ae3a23f3212cd299f28d9