{"id":"CVE-2026-64345","state":"PUBLISHED","title":"usb: gadget: f_printer: take kref only for successful open","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_printer: take kref only for successful open\n\nprinter_open() returns -EBUSY when the character device is already\nopen, but it increments dev->kref regardless of the return value. VFS\ndoes not call ->release() for a failed open, so every rejected second\nopen permanently leaks one reference.\n\nMove kref_get() into the successful-open branch.","publishedAt":"2026-07-25T08:50:07.069Z","updatedAt":"2026-10-30T12:27:47.119Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"94ec20d97aa51547965a539f660a1fe79c6929a3","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"a12d81a9cc2a012a24ecb7f9ba076b9f7c179bd3","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"75c0ad13e136961328253742501b4efc3988a587","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"bf20c94fa6aaff945f0ae3a23f3212cd299f28d9","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"8a5eba992c862b0c94411eecf9b7121e8636db38","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"7f1f24c367938c5537e2308bf9a965f051d14774","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"30adce93d5c4a5a1ec29d9249e3fdfcc391d406b","versionType":"git"},{"version":"25c95c6bd4dc50a3c20de0fa7f450ea02b2320fc","status":"affected","versionType":"git"},{"version":"4a47581cf010dc351d8069978080fdb000c0776d","status":"affected","versionType":"git"},{"version":"d9fe88b2a38dc700bf5bd3a09c7cd11bbc248367","status":"affected","versionType":"git"},{"version":"cedb0187b8ba929c3f76f28e6bc25804d65f8a54","status":"affected","versionType":"git"},{"version":"e9e791f5c39ab30e374a3b1a9c25ca7ff24988f3","status":"affected","versionType":"git"},{"version":"34f026263889e2827e04acdc3a0eb9ecbd191ef0","status":"affected","versionType":"git"},{"version":"5f845e5d18d151230476cf90aa46449f69ba2ef1","status":"affected","versionType":"git"},{"version":"4.4.241","status":"affected","lessThan":"4.5","versionType":"semver"},{"version":"4.9.241","status":"affected","lessThan":"4.10","versionType":"semver"},{"version":"4.14.203","status":"affected","lessThan":"4.15","versionType":"semver"},{"version":"4.19.154","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.73","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"5.8.17","status":"affected","lessThan":"5.9","versionType":"semver"},{"version":"5.9.2","status":"affected","lessThan":"5.10","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/gadget/function/f_printer.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"5.10.261","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.96","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.39","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.4","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/gadget/function/f_printer.c"]}],"references":["https://git.kernel.org/stable/c/94ec20d97aa51547965a539f660a1fe79c6929a3","https://git.kernel.org/stable/c/a12d81a9cc2a012a24ecb7f9ba076b9f7c179bd3","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"],"weaknesses":[],"ingestedAt":"2026-10-30T12:46:06.359Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/64xxx/CVE-2026-64345.json","commit":"1f312381e38164a43607eebab851b151dd16861e","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64345","state":"PUBLISHED","datePublished":"2026-07-25T08:50:07.069Z","dateUpdated":"2026-10-30T12:27:47.119Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T15:36:31.781Z"},"containers":{"cna":{"title":"usb: gadget: f_printer: take kref only for successful open","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_printer: take kref only for successful open\n\nprinter_open() returns -EBUSY when the character device is already\nopen, but it increments dev->kref regardless of the return value. VFS\ndoes not call ->release() for a failed open, so every rejected second\nopen permanently leaks one reference.\n\nMove kref_get() into the successful-open branch."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"94ec20d97aa51547965a539f660a1fe79c6929a3","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"a12d81a9cc2a012a24ecb7f9ba076b9f7c179bd3","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"75c0ad13e136961328253742501b4efc3988a587","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"bf20c94fa6aaff945f0ae3a23f3212cd299f28d9","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"8a5eba992c862b0c94411eecf9b7121e8636db38","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"7f1f24c367938c5537e2308bf9a965f051d14774","versionType":"git"},{"version":"e8d5f92b8d30bb4ade76494490c3c065e12411b1","status":"affected","lessThan":"30adce93d5c4a5a1ec29d9249e3fdfcc391d406b","versionType":"git"},{"version":"25c95c6bd4dc50a3c20de0fa7f450ea02b2320fc","status":"affected","versionType":"git"},{"version":"4a47581cf010dc351d8069978080fdb000c0776d","status":"affected","versionType":"git"},{"version":"d9fe88b2a38dc700bf5bd3a09c7cd11bbc248367","status":"affected","versionType":"git"},{"version":"cedb0187b8ba929c3f76f28e6bc25804d65f8a54","status":"affected","versionType":"git"},{"version":"e9e791f5c39ab30e374a3b1a9c25ca7ff24988f3","status":"affected","versionType":"git"},{"version":"34f026263889e2827e04acdc3a0eb9ecbd191ef0","status":"affected","versionType":"git"},{"version":"5f845e5d18d151230476cf90aa46449f69ba2ef1","status":"affected","versionType":"git"},{"version":"4.4.241","status":"affected","lessThan":"4.5","versionType":"semver"},{"version":"4.9.241","status":"affected","lessThan":"4.10","versionType":"semver"},{"version":"4.14.203","status":"affected","lessThan":"4.15","versionType":"semver"},{"version":"4.19.154","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.4.73","status":"affected","lessThan":"5.5","versionType":"semver"},{"version":"5.8.17","status":"affected","lessThan":"5.9","versionType":"semver"},{"version":"5.9.2","status":"affected","lessThan":"5.10","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/gadget/function/f_printer.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"5.10.261","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.96","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.39","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.4","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/gadget/function/f_printer.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/94ec20d97aa51547965a539f660a1fe79c6929a3"},{"url":"https://git.kernel.org/stable/c/a12d81a9cc2a012a24ecb7f9ba076b9f7c179bd3"},{"url":"https://git.kernel.org/stable/c/75c0ad13e136961328253742501b4efc3988a587"},{"url":"https://git.kernel.org/stable/c/bf20c94fa6aaff945f0ae3a23f3212cd299f28d9"},{"url":"https://git.kernel.org/stable/c/8a5eba992c862b0c94411eecf9b7121e8636db38"},{"url":"https://git.kernel.org/stable/c/7f1f24c367938c5537e2308bf9a965f051d14774"},{"url":"https://git.kernel.org/stable/c/30adce93d5c4a5a1ec29d9249e3fdfcc391d406b"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:27:47.119Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"5.10.261"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.12.96"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.18.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"7.1.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"7.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4.241"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.9.241"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.154"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.73"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}