CVE-2024-56653·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btmtk: avoid UAF in btmtk_process_coredump hci_devcd_append may lead to the release of the skb, so it cannot be accessed once it is called. ================================================================== BUG: KASAN: slab-use-after-free in btmtk_process_coredump+0x2a7/0x2d0 [btmtk] Read of size 4 at addr ffff888033cfabb0 by task kworker/0:3/82 CPU: 0 PID: 82 Comm: kworker/0:3 Tainted: G U 6.6.40-lockdep-03464-g1d8b4eb3060e #1 b0b3c1cc0c842735643fb411799d97921d1f688c Hardware name: Google Yaviks_Ufs/Yaviks_Ufs, BIOS Google_Yaviks_Ufs.15217.552.0 05/07/2024 Workqueue: events btusb_rx_work [btusb] Call Trace: <TASK> dump_stack_lvl+0xfd/0x150 print_report+0x131/0x780 kasan_report+0x177/0x1c0 btmtk_process_coredump+0x2a7/0x2d0 [btmtk 03edd567dd71a65958807c95a65db31d433e1d01] btusb_recv_acl_mtk+0x11c/0x1a0 [btusb 675430d1e87c4f24d0c1f80efe600757a0f32bec] btusb_rx_work+0x9e/0xe0 [btusb 675430d1e87c4f24d0c1f80efe600757a0f32bec] worker_thread+0xe44/0x2cc0 kthread+0x2ff/0x3a0 ret_from_fork+0x51/0x80 ret_from_fork_asm+0x1b/0x30 </TASK> Allocated by task 82: stack_trace_save+0xdc/0x190 kasan_set_track+0x4e/0x80 __kasan_slab_alloc+0x4e/0x60 kmem_cache_alloc+0x19f/0x360 skb_clone+0x132/0xf70 btusb_recv_acl_mtk+0x104/0x1a0 [btusb] btusb_rx_work+0x9e/0xe0 [btusb] worker_thread+0xe44/0x2cc0 kthread+0x2ff/0x3a0 ret_from_fork+0x51/0x80 ret_from_fork_asm+0x1b/0x30 Freed by task 1733: stack_trace_save+0xdc/0x190 kasan_set_track+0x4e/0x80 kasan_save_free_info+0x28/0xb0 ____kasan_slab_free+0xfd/0x170 kmem_cache_free+0x183/0x3f0 hci_devcd_rx+0x91a/0x2060 [bluetooth] worker_thread+0xe44/0x2cc0 kthread+0x2ff/0x3a0 ret_from_fork+0x51/0x80 ret_from_fork_asm+0x1b/0x30 The buggy address belongs to the object at ffff888033cfab40 which belongs to the cache skbuff_head_cache of size 232 The buggy address is located 112 bytes inside of freed 232-byte region [ffff888033cfab40, ffff888033cfac28) The buggy address belongs to the physical page: page:00000000a174ba93 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x33cfa head:00000000a174ba93 order:1 entire_mapcount:0 nr_pages_mapped:0 pincount:0 anon flags: 0x4000000000000840(slab|head|zone=1) page_type: 0xffffffff() raw: 4000000000000840 ffff888100848a00 0000000000000000 0000000000000001 raw: 0000000000000000 0000000080190019 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888033cfaa80: fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc ffff888033cfab00: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb >ffff888033cfab80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888033cfac00: fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc ffff888033cfac80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== Check if we need to call hci_devcd_complete before calling hci_devcd_append. That requires that we check data->cd_info.cnt >= MTK_COREDUMP_NUM instead of data->cd_info.cnt > MTK_COREDUMP_NUM, as we increment data->cd_info.cnt only once the call to hci_devcd_append succeeds.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.12.6
- Published
- 2024-12-27
Affected versions
From: 6.7
Until: 6.12.6
Fixed in: 6.12.6
How to fix this CVE
Update your Linux kernel to version 6.12.6 or later to resolve a use-after-free vulnerability in the Bluetooth MTK driver's coredump handling. This issue can lead to kernel memory corruption when processing Bluetooth device coredump data. Apply the patch immediately to systems running vulnerable kernel versions 6.7 through 6.12.5.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check kernel version: uname -r — ensure it is NOT between 6.7 and 6.12.5 inclusive
- Verify Bluetooth MTK driver is loaded: lsmod | grep btmtk — if present, system is potentially exposed
- Check for kernel compilation date: cat /proc/version — compare against known vulnerable release dates
- Verify patch applied: grep -i 'b548f5e9456c568155499d9ebac675c0d7a296e8' /boot/config-$(uname -r) 2>/dev/null || echo 'Patch not detected' — confirm fix commit is present
FAQ
What is CVE-2024-56653?
CVE-2024-56653 is a use-after-free vulnerability in the Linux kernel's Bluetooth MTK driver where the coredump handler accesses memory after it has been freed by hci_devcd_append, potentially causing kernel memory corruption or denial of service.
Is CVE-2024-56653 being actively exploited?
No, CVE-2024-56653 is not currently listed on the CISA Known Exploited Vulnerabilities catalog and no public exploits are available. However, it should still be patched promptly due to its high severity.
What versions of Kernel are affected by CVE-2024-56653?
Linux kernel versions 6.7 through 6.12.5 are affected. Kernel 6.12.6 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-56653?
Run 'uname -r' to display your kernel version, then verify it falls within the 6.7–6.12.5 range. Additionally, check if the Bluetooth MTK driver is present with 'lsmod | grep btmtk'.
Does Defensia detect CVE-2024-56653?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If kernel is installed on a monitored server running versions 6.7–6.12.5, CVE-2024-56653 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-56653. Free for 1 server.
Get started free