CVE-2026-64455: USB: chaoskey: Fix slab-use-after-free in chaoskey_release()
Greg Kroah-Hartman <[email protected]> Sat, 25 Jul 2026 10:51:12 +0200
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026072542-CVE-2026-64455-eb13@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: USB: chaoskey: Fix slab-use-after-free in chaoskey_release() The chaoskey driver has a use-after-free bug in its release routine. If the user closes the device file after the USB device has been unplugged, a debugging log statement will try to access the usb_interface structure after it has been deallocated: BUG: KASAN: slab-use-after-free in dev_driver_string (drivers/base/core.c:2406) Read of size 8 at addr ffff888168e8a0b8 by task chaoskey_raw_re/10106 Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) print_report (mm/kasan/report.c:378 mm/kasan/report.c:482) kasan_report (mm/kasan/report.c:595) dev_driver_string (drivers/base/core.c:2406) __dynamic_dev_dbg (lib/dynamic_debug.c:906) chaoskey_release (drivers/usb/misc/chaoskey.c:323) __fput (fs/file_table.c:510) fput_close_sync (fs/file_table.c:615) __x64_sys_close (fs/open.c:1507 fs/open.c:1492 fs/open.c:1492) do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) The driver's last reference to the interface structure is dropped in the chaoskey_free() routine, so the code must not use the interface -- even in a debugging statement -- after that routine returns. (Exception: If we know that another reference is held by someone else, such as the device core while the disconnect routine runs, there's no problem. Thanks to Johan Hovold for pointing this out.) Since the bad access is part of an unimportant debugging statement, we can fix the problem simply by removing the whole statement. The Linux kernel CVE team has assigned CVE-2026-64455 to this issue. Affected and fixed versions =========================== Issue introduced in 4.1 with commit 66e3e591891da9899a8990792da080432531ffd4 and fixed in 5.10.261 with commit fe7a0f4be283b40dd592540027279735120d0d6f Issue introduced in 4.1 with commit 66e3e591891da9899a8990792da080432531ffd4 and fixed in 5.15.212 with commit 5ec61fbef9ec5635c492ae63dfb5d13f2bdf1023 Issue introduced in 4.1 with commit 66e3e591891da9899a8990792da080432531ffd4 and fixed in 6.1.178 with commit f3e409476ad0703c54c14f245e4e143c8124e1bd Issue introduced in 4.1 with commit 66e3e591891da9899a8990792da080432531ffd4 and fixed in 6.6.145 with commit 6c82f88bc7a8458d5c60f9b354c4d32d233f0cac Issue introduced in 4.1 with commit 66e3e591891da9899a8990792da080432531ffd4 and fixed in 6.12.96 with commit 3ad5fbcced4e9c2b0fee3c1b76289a147fc35b89 Issue introduced in 4.1 with commit 66e3e591891da9899a8990792da080432531ffd4 and fixed in 6.18.39 with commit 2a52d55c86a429dac47886b8424e67f90b001e67 Issue introduced in 4.1 with commit 66e3e591891da9899a8990792da080432531ffd4 and fixed in 7.1.4 with commit 8f50613bff228272577893aa10a346a2f3063e49 Issue introduced in 4.1 with commit 66e3e591891da9899a8990792da080432531ffd4 and fixed in 7.2-rc3 with commit abf76d3239dee97b66e7241ad04811f1ce562e28 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-64455 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/usb/misc/chaoskey.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/fe7a0f4be283b40dd592540027279735120d0d6f https://git.kernel.org/stable/c/5ec61fbef9ec5635c492ae63dfb5d13f2bdf1023 https://git.kernel.org/stable/c/f3e409476ad0703c54c14f245e4e143c8124e1bd https://git.kernel.org/stable/c/6c82f88bc7a8458d5c60f9b354c4d32d233f0cac https://git.kernel.org/stable/c/3ad5fbcced4e9c2b0fee3c1b76289a147fc35b89 https://git.kernel.org/stable/c/2a52d55c86a429dac47886b8424e67f90b001e67 https://git.kernel.org/stable/c/8f50613bff228272577893aa10a346a2f3063e49 https://git.kernel.org/stable/c/abf76d3239dee97b66e7241ad04811f1ce562e28