CVE-2023-52922·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: can: bcm: Fix UAF in bcm_proc_show() BUG: KASAN: slab-use-after-free in bcm_proc_show+0x969/0xa80 Read of size 8 at addr ffff888155846230 by task cat/7862 CPU: 1 PID: 7862 Comm: cat Not tainted 6.5.0-rc1-00153-gc8746099c197 #230 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0xd5/0x150 print_report+0xc1/0x5e0 kasan_report+0xba/0xf0 bcm_proc_show+0x969/0xa80 seq_read_iter+0x4f6/0x1260 seq_read+0x165/0x210 proc_reg_read+0x227/0x300 vfs_read+0x1d5/0x8d0 ksys_read+0x11e/0x240 do_syscall_64+0x35/0xb0 entry_SYSCALL_64_after_hwframe+0x63/0xcd Allocated by task 7846: kasan_save_stack+0x1e/0x40 kasan_set_track+0x21/0x30 __kasan_kmalloc+0x9e/0xa0 bcm_sendmsg+0x264b/0x44e0 sock_sendmsg+0xda/0x180 ____sys_sendmsg+0x735/0x920 ___sys_sendmsg+0x11d/0x1b0 __sys_sendmsg+0xfa/0x1d0 do_syscall_64+0x35/0xb0 entry_SYSCALL_64_after_hwframe+0x63/0xcd Freed by task 7846: kasan_save_stack+0x1e/0x40 kasan_set_track+0x21/0x30 kasan_save_free_info+0x27/0x40 ____kasan_slab_free+0x161/0x1c0 slab_free_freelist_hook+0x119/0x220 __kmem_cache_free+0xb4/0x2e0 rcu_core+0x809/0x1bd0 bcm_op is freed before procfs entry be removed in bcm_release(), this lead to bcm_proc_show() may read the freed bcm_op.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.4.7
- Published
- 2024-11-28
Affected versions
From: 6.2
Until: 6.4.7
Fixed in: 6.4.7
How to fix this CVE
Update your Linux kernel to version 6.4.7 or later to resolve a use-after-free vulnerability in the CAN BCM (Broadcast Manager) protocol handler. This vulnerability allows local attackers with low privileges to read freed memory through the /proc filesystem, potentially leading to information disclosure or system instability. Apply kernel updates immediately across all affected systems.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check kernel version: uname -r — ensure version is 6.4.7 or later; versions 6.2.x through 6.4.6 are vulnerable
- Verify CAN BCM module is loaded: lsmod | grep can — if present, the attack vector is available on this system
- Search kernel logs for CAN-related errors: dmesg | grep -i 'can\|bcm' — look for UAF (use-after-free) errors or KASAN warnings
- Confirm patch application: grep 'bcm_release\|bcm_proc_show' /boot/config-$(uname -r) — verify the kernel configuration includes BCM fixes
FAQ
What is CVE-2023-52922?
CVE-2023-52922 is a use-after-free vulnerability in the Linux kernel's CAN BCM (Broadcast Manager) protocol handler that occurs when the procfs entry is read after the corresponding bcm_op structure has been deallocated, allowing local attackers to leak kernel memory.
Is CVE-2023-52922 being actively exploited?
No, CVE-2023-52922 is not listed on the CISA KEV catalog and has no known public exploits, though the vulnerability is trivial to trigger for local attackers with standard user privileges.
What versions of Kernel are affected by CVE-2023-52922?
Linux kernel versions 6.2.0 through 6.4.6 are affected; version 6.4.7 and later contain the fix.
How do I check if my server is vulnerable to CVE-2023-52922?
Run 'uname -r' and verify the kernel version is 6.4.7 or later; if your version is 6.2.x through 6.4.6, you are vulnerable.
Does Defensia detect CVE-2023-52922?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server running a vulnerable version, CVE-2023-52922 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/11b8e27ed448baa385d90154a141466bd5e92f18
- https://git.kernel.org/stable/c/3c3941bb1eb53abe7d640ffee5c4d6b559829ab3
- https://git.kernel.org/stable/c/55c3b96074f3f9b0aee19bf93cd71af7516582bb
- https://git.kernel.org/stable/c/9533dbfac0ff7edd77a5fa2c24974b1d66c8b0a6
- https://git.kernel.org/stable/c/995f47d76647708ec26c6e388663ad4f3f264787
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52922. Free for 1 server.
Get started free