Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-64455

USB: chaoskey: Fix slab-use-after-free in chaoskey_release()

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 66e3e591891da9899a8990792da080432531ffd4 to < fe7a0f4be283b40dd592540027279735120d0d6faffected
  • 66e3e591891da9899a8990792da080432531ffd4 to < 5ec61fbef9ec5635c492ae63dfb5d13f2bdf1023affected
  • 66e3e591891da9899a8990792da080432531ffd4 to < f3e409476ad0703c54c14f245e4e143c8124e1bdaffected
  • 66e3e591891da9899a8990792da080432531ffd4 to < 6c82f88bc7a8458d5c60f9b354c4d32d233f0cacaffected
  • 66e3e591891da9899a8990792da080432531ffd4 to < 3ad5fbcced4e9c2b0fee3c1b76289a147fc35b89affected
  • 66e3e591891da9899a8990792da080432531ffd4 to < 2a52d55c86a429dac47886b8424e67f90b001e67affected
  • 66e3e591891da9899a8990792da080432531ffd4 to < 8f50613bff228272577893aa10a346a2f3063e49affected
  • 66e3e591891da9899a8990792da080432531ffd4 to < abf76d3239dee97b66e7241ad04811f1ce562e28affected

Linux Linux

Default version status: affected

  • 4.1affected
  • 0 to < 4.1unaffected
  • 5.10.261 to ≤ 5.10.*unaffected
  • 5.15.212 to ≤ 5.15.*unaffected
  • 6.1.178 to ≤ 6.1.*unaffected
  • 6.6.145 to ≤ 6.6.*unaffected
  • 6.12.96 to ≤ 6.12.*unaffected
  • 6.18.39 to ≤ 6.18.*unaffected
  • 7.1.4 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References