CVE-2021-47456

8.4 HIGH

📋 TL;DR

This is a use-after-free vulnerability in the Linux kernel's peak_pci CAN bus driver that occurs during module removal. When exploited, it allows local attackers to potentially execute arbitrary code or cause denial of service. Systems using the peak_pci driver with vulnerable kernel versions are affected.

💻 Affected Systems

Products:
  • Linux kernel peak_pci CAN bus driver
Versions: Specific vulnerable kernel versions referenced in the git commits (exact ranges depend on distribution backports)
Operating Systems: Linux distributions with vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using the peak_pci CAN bus driver module. Requires local access to trigger via modprobe removal.

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

⚠️ 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 users from loading/unloading kernel modules.

🌐 Internet-Facing: LOW - Requires local access to trigger via module removal.
🏢 Internal Only: MEDIUM - Local users or processes with module loading privileges could exploit this.

🎯 Exploit Status

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

Requires local access and ability to load/unload kernel modules. Exploitation would require crafting specific memory conditions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing the referenced git commits (0e5afdc2315b0737edcf55bede4ee1640d2d464d and others)

Vendor Advisory: https://git.kernel.org/stable/c/0e5afdc2315b0737edcf55bede4ee1640d2d464d

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution. 2. Reboot system to load new kernel. 3. Verify peak_pci module loads correctly if needed.

🔧 Temporary Workarounds

Disable peak_pci module loading

linux

Prevent loading of vulnerable peak_pci driver module

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

Restrict module loading

linux

Prevent unauthorized users from loading/unloading kernel modules

sysctl -w kernel.modules_disabled=1
chmod 700 /sbin/modprobe

🧯 If You Can't Patch

  • Restrict local user access to systems using peak_pci driver
  • Implement strict module loading policies and monitor for unauthorized module operations

🔍 How to Verify

Check if Vulnerable:

Check if peak_pci module is loaded: lsmod | grep peak_pci. Check kernel version against patched versions.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is updated beyond vulnerable versions. Test peak_pci module removal: modprobe -r peak_pci (if loaded).

📡 Detection & Monitoring

Log Indicators:

  • KASAN use-after-free reports in kernel logs
  • BUG: KASAN: use-after-free in peak_pci_remove
  • System crashes or kernel panics during module operations

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND "peak_pci_remove" AND ("use-after-free" OR "KASAN")

🔗 References

📤 Share & Export