CVE-2025-38004
📋 TL;DR
A race condition vulnerability in the Linux kernel's CAN broadcast manager (BCM) allows concurrent access to shared data structures from user space and timer contexts, leading to out-of-bounds memory reads. This affects Linux systems using CAN bus functionality, particularly in automotive, industrial control, and embedded systems. Attackers with local access can trigger kernel memory corruption.
💻 Affected Systems
- Linux kernel
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Kernel memory corruption leading to system crash, denial of service, or potential privilege escalation through further exploitation of memory corruption.
Likely Case
System instability, kernel crashes, or denial of service affecting CAN bus functionality on vulnerable systems.
If Mitigated
Minimal impact if systems don't use CAN bus functionality or have proper access controls preventing local user exploitation.
🎯 Exploit Status
Proof of concept exists demonstrating the KASAN slab-out-of-bounds read. Exploitation requires local access and knowledge of CAN bus operations.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Multiple stable kernel versions with commits: 2a437b86ac5a9893c902f30ef66815bf13587bf6, 7595de7bc56e0e52b74e56c90f7e247bf626d628, 76c84c3728178b2d38d5604e399dfe8b0752645e, 8f1c022541bf5a923c8d6fa483112c15250f30a4, c2aba69d0c36a496ab4f2e81e9c2b271f2693fd7
Vendor Advisory: https://git.kernel.org/stable/c/2a437b86ac5a9893c902f30ef66815bf13587bf6
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version. 2. Check distribution-specific security advisories. 3. Reboot system after kernel update. 4. Verify CAN BCM functionality post-update.
🔧 Temporary Workarounds
Disable CAN BCM module
linuxRemove or blacklist the CAN broadcast manager module if not required
sudo modprobe -r can_bcm
echo 'blacklist can_bcm' | sudo tee /etc/modprobe.d/blacklist-can-bcm.conf
Restrict CAN interface access
linuxLimit user access to CAN bus interfaces using permissions or SELinux/AppArmor
sudo chmod 600 /dev/can*
sudo setfacl -m u:canuser:rw /dev/can0
🧯 If You Can't Patch
- Implement strict access controls to prevent unauthorized users from accessing CAN bus interfaces
- Monitor system logs for CAN-related errors or crashes and implement compensating controls
🔍 How to Verify
Check if Vulnerable:
Check kernel version and if CAN BCM module is loaded: lsmod | grep can_bcm && uname -r
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated and check for presence of fix commits in kernel source
📡 Detection & Monitoring
Log Indicators:
- Kernel oops messages related to CAN BCM
- KASAN error reports for slab-out-of-bounds reads
- System crashes or instability when CAN bus is active
Network Indicators:
- Unusual CAN bus traffic patterns
- Multiple CAN frame transmission errors
SIEM Query:
source="kernel" AND ("can_bcm" OR "KASAN: slab-out-of-bounds" OR "BCM")
🔗 References
- https://git.kernel.org/stable/c/2a437b86ac5a9893c902f30ef66815bf13587bf6
- https://git.kernel.org/stable/c/7595de7bc56e0e52b74e56c90f7e247bf626d628
- https://git.kernel.org/stable/c/76c84c3728178b2d38d5604e399dfe8b0752645e
- https://git.kernel.org/stable/c/8f1c022541bf5a923c8d6fa483112c15250f30a4
- https://git.kernel.org/stable/c/c2aba69d0c36a496ab4f2e81e9c2b271f2693fd7
- https://git.kernel.org/stable/c/c4e8a172501e677ebd8ea9d9161d97dc4df56fbd
- https://git.kernel.org/stable/c/cc55dd28c20a6611e30596019b3b2f636819a4c0
- https://git.kernel.org/stable/c/fbd8fdc2b218e979cfe422b139b8f74c12419d1f
- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html