CVE-2023-52922 can: bcm: Fix UAF in bcm_proc_show()

High 7.8 Published Updated

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:8All versions4.18.0-553.45.1.el8_10
kernel AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-abi-stablelists AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-core AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-cross-headers AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-debug AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-debug-core AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-debug-devel AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-debug-modules AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-debug-modules-extra AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-devel AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-doc AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-headers AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-modules AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-modules-extra AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-rt AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-core AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-debug AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-debug-core AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-debug-devel AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-debug-modules AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-debug-modules-extra AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-devel AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-modules AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-rt-modules-extra AlmaLinux:8All versions4.18.0-553.45.1.rt7.386.el8_10
kernel-tools AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-tools-libs AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-tools-libs-devel AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-zfcpdump AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-zfcpdump-core AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-zfcpdump-devel AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-zfcpdump-modules AlmaLinux:8All versions4.18.0-553.45.1.el8_10
kernel-zfcpdump-modules-extra AlmaLinux:8All versions4.18.0-553.45.1.el8_10
perf AlmaLinux:8All versions4.18.0-553.45.1.el8_10
python3-perf AlmaLinux:8All versions4.18.0-553.45.1.el8_10
bpftool Red Hat:enterprise_linux:8::baseosAll versions0:4.18.0-553.45.1.el8_10
bpftool-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.18.0-553.45.1.el8_10
kernel Red Hat:enterprise_linux:8::baseosAll versions0:4.18.0-553.45.1.el8_10
kernel-abi-stablelists Red Hat:enterprise_linux:8::baseosAll versions0:4.18.0-553.45.1.el8_10
kernel-core Red Hat:enterprise_linux:8::baseosAll versions0: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.

All Linux kernel vulnerabilities

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.

Is CVE-2023-52922 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free