CVE-2021-47670

7.8 HIGH

📋 TL;DR

This is a use-after-free vulnerability in the Linux kernel's CAN bus subsystem for PEAK USB devices. It allows attackers with local access to potentially crash the kernel or execute arbitrary code. Systems using PEAK USB CAN interfaces with vulnerable kernel versions are affected.

💻 Affected Systems

Products:
  • Linux kernel with peak_usb driver
Versions: Linux kernel versions before the fixes in stable trees (specific commits: 50aca891d7a5, 5408824636fa, ddd1416f4413, ec939c13c3ff)
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with PEAK USB CAN interfaces loaded and accessible.

📦 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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local privilege escalation to kernel-level code execution, potentially leading to full system compromise.

🟠

Likely Case

Kernel panic or system crash causing denial of service.

🟢

If Mitigated

Limited impact if proper access controls prevent local attackers from accessing CAN interfaces.

🌐 Internet-Facing: LOW - Requires local access to the system.
🏢 Internal Only: MEDIUM - Local attackers or malicious users could exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires local access and ability to interact with CAN interfaces. No public exploits known.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel versions with the fix commits applied

Vendor Advisory: https://git.kernel.org/stable/c/50aca891d7a554db0901b245167cd653d73aaa71

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. Reboot system. 3. Verify peak_usb driver is updated.

🔧 Temporary Workarounds

Disable peak_usb module

linux

Prevent loading of the vulnerable driver if not needed

echo 'blacklist peak_usb' >> /etc/modprobe.d/blacklist-peak_usb.conf
rmmod peak_usb

Restrict CAN interface access

linux

Limit which users can access CAN devices

chmod 600 /dev/pcan*
setfacl -m u:root:rw /dev/pcan*

🧯 If You Can't Patch

  • Implement strict access controls to prevent unauthorized users from accessing CAN interfaces
  • Monitor system logs for kernel crashes or suspicious CAN interface activity

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if peak_usb module is loaded: uname -r && lsmod | grep peak_usb

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is patched and check dmesg for no use-after-free errors related to peak_usb

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • Use-after-free warnings in dmesg
  • CAN subsystem crashes

Network Indicators:

  • Unusual CAN bus traffic patterns

SIEM Query:

source="kernel" AND ("use-after-free" OR "peak_usb" OR "CAN")

🔗 References

📤 Share & Export