CVE-2023-52922: can: bcm: Fix UAF in bcm_proc_show()
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.
Security readout for executives and security teams
Plain-English summary
CVE-2023-52922 is a Linux kernel use-after-free bug in the CAN BCM networking subsystem. A local user could trigger unsafe access to freed kernel memory. The CVSS score is high, but the record does not show known active exploitation or remote attack capability.
Executive priority
Treat as a high-priority kernel maintenance issue, especially on multi-user Linux systems or embedded environments using CAN. It is not currently evidenced as internet-remote or actively exploited in the supplied sources.
Technical view
The issue is CWE-416 in bcm_proc_show(). The CVE states bcm_op can be freed before its procfs entry is removed in bcm_release(), allowing bcm_proc_show() to read freed memory. CVSS 3.1 is 7.8 with local attack vector, low complexity, low privileges, no user interaction, and high confidentiality, integrity, and availability impact.
Likely exposure
Exposure is most relevant to Linux systems running affected kernel versions where CAN BCM is present and local users or local workloads can interact with the subsystem. The provided record lists Linux as affected across multiple kernel lines and references stable kernel fixes.
Exploitation context
The attack vector is local and requires low privileges. The supplied sources include a KASAN crash trace and technical description, but do not establish active exploitation. CISA KEV status in the bundle is false.
Researcher notes
The root cause is lifetime ordering: bcm_op is freed before the procfs entry is removed, so bcm_proc_show() may dereference freed memory. The public description includes KASAN evidence on Linux 6.5-rc1 and stable backport commit references.
Mitigation direction
Upgrade to a vendor kernel containing the referenced stable Linux fixes.
Review Linux distribution advisories for backported fixes and supported package versions.
Prioritize shared systems where untrusted local users or workloads are present.
If CAN BCM is unnecessary, ask the vendor whether disabling it is supported.
Validation and detection
Inventory Linux kernel versions across servers, appliances, and embedded systems.
Compare installed kernels against vendor advisories for CVE-2023-52922.
Confirm the relevant stable fix appears in kernel changelogs or package metadata.
Identify systems exposing CAN or SocketCAN functionality to local users or workloads.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-416: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
3Timeline events
2ADP providers
10Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-416 · source CWE mapping
Use After Free
Use After Free represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.