CVE-2023-52922 can: bcm: Fix UAF in bcm_proc_show()
A use-after-free vulnerability in the Linux kernel's CAN BCM module allows local attackers to cause a denial of service or potentially execute code via procfs access.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-52922?
CVE-2023-52922 is a high-severity use after free vulnerability in Linux kernel, published on 28 Nov 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
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.
Weakness: CWE-416
Which versions are affected by CVE-2023-52922?
It affects 1 product.
Linux distribution packages (40)
bpftool AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-abi-stablelists AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-core AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-cross-headers AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-debug AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-debug-core AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-debug-devel AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-debug-modules AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-debug-modules-extra AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-devel AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-doc AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-headers AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-modules AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-modules-extra AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-rt AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-core AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-debug AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-debug-core AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-debug-devel AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-debug-modules AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-debug-modules-extra AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-devel AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-modules AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-rt-modules-extra AlmaLinux:8 | All versions | 4.18.0-553.45.1.rt7.386.el8_10 |
kernel-tools AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-tools-libs AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-tools-libs-devel AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-zfcpdump AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-zfcpdump-core AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-zfcpdump-devel AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-zfcpdump-modules AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
kernel-zfcpdump-modules-extra AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
perf AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
python3-perf AlmaLinux:8 | All versions | 4.18.0-553.45.1.el8_10 |
bpftool Red Hat:enterprise_linux:8::baseos | All versions | 0:4.18.0-553.45.1.el8_10 |
bpftool-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.18.0-553.45.1.el8_10 |
kernel Red Hat:enterprise_linux:8::baseos | All versions | 0:4.18.0-553.45.1.el8_10 |
kernel-abi-stablelists Red Hat:enterprise_linux:8::baseos | All versions | 0:4.18.0-553.45.1.el8_10 |
kernel-core Red Hat:enterprise_linux:8::baseos | All versions | 0:4.18.0-553.45.1.el8_10 |
Products include Linux kernel.
How do I fix CVE-2023-52922?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2023-52922 being exploited?
There is no known exploitation of CVE-2023-52922 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as ALSA-2025:3026, ALSA-2025:3027, BELL-CVE-2023-52922, DEBIAN-CVE-2023-52922, GHSA-56gp-6mw9-wpfj, RHSA-2025:3024 and 14 more.