CVE-2023-53421

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the Linux kernel's block cgroup subsystem can cause kernel panics when resetting block I/O statistics. This affects Linux systems using cgroup v1 with block I/O controllers enabled. The vulnerability allows local attackers to crash the system.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions between the introduction of the vulnerable code (commits 3b8cc6298724 and f73316482977) and the fix commits listed in references.
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using cgroup v1 with block I/O controllers (blkio) enabled. Systems using cgroup v2 are not affected.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially causing data loss or service disruption.

🟠

Likely Case

Local denial of service through system crash when privileged users or processes trigger the vulnerable code path.

🟢

If Mitigated

Limited impact with proper access controls preventing unprivileged users from accessing block cgroup statistics.

🌐 Internet-Facing: LOW - Requires local access to trigger the vulnerability.
🏢 Internal Only: MEDIUM - Local users or compromised processes could crash the system, affecting availability.

🎯 Exploit Status

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

Exploitation requires local access and ability to trigger blkcg_reset_stats() function, typically requiring appropriate privileges.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 0561aa6033dd, 3d2af77e31ad, 892faa76be89, abbce7f82613, b0d26283af61

Vendor Advisory: https://git.kernel.org/stable/c/0561aa6033dd181594116d705c41fc16e97161a2

Restart Required: Yes

Instructions:

1. Update to a kernel version containing the fix commits. 2. Check your distribution's security advisories for backported patches. 3. Reboot the system after kernel update.

🔧 Temporary Workarounds

Disable block I/O cgroup controller

linux

Prevent exploitation by disabling the vulnerable subsystem

echo 'blkio' > /sys/fs/cgroup/cgroup.subtree_control

Migrate to cgroup v2

linux

Switch to cgroup v2 which is not affected by this vulnerability

Add 'systemd.unified_cgroup_hierarchy=1' to kernel boot parameters

🧯 If You Can't Patch

  • Restrict access to block cgroup statistics to trusted users only
  • Monitor system logs for kernel panic events and implement crash recovery procedures

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if using cgroup v1 with blkio controller: uname -r && cat /proc/cgroups | grep blkio

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits: uname -r && check distribution patch notes

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages in /var/log/messages or dmesg
  • NULL pointer dereference errors mentioning blkcg_reset_stats

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("panic" OR "NULL pointer dereference") AND "blkcg"

🔗 References

📤 Share & Export