CVE-2024-42266

5.5 MEDIUM

📋 TL;DR

A race condition vulnerability in the Linux kernel's Btrfs filesystem can cause a kernel panic when handling write errors. This affects systems using Btrfs filesystem with specific error conditions during write operations. The vulnerability allows local attackers to crash the system, leading to denial of service.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific kernel versions with the vulnerable Btrfs code (exact range depends on kernel distribution backports)
Operating Systems: Linux distributions using Btrfs filesystem
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using Btrfs filesystem and when specific write error conditions occur. The vulnerability was introduced in a specific Btrfs commit and fixed in later commits.

📦 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 corruption or loss if the system is performing critical operations.

🟠

Likely Case

System crash or kernel panic when specific write error conditions occur, resulting in temporary denial of service until system reboot.

🟢

If Mitigated

No impact if the system is not using Btrfs filesystem or if the specific error conditions don't occur.

🌐 Internet-Facing: LOW - This is a local filesystem vulnerability requiring local access to trigger.
🏢 Internal Only: MEDIUM - Local users or processes can potentially trigger the vulnerability, but requires specific error conditions during Btrfs write operations.

🎯 Exploit Status

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

Exploitation requires local access and ability to trigger specific Btrfs write error conditions. The vulnerability was discovered through fuzzing and specific test cases.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patched in kernel commits 061e41581606000a83ce0f0f01d6ad338f3704e9 and 478574370bef7951fbd9ef5155537d6cbed49472

Vendor Advisory: https://git.kernel.org/stable/c/061e41581606000a83ce0f0f01d6ad338f3704e9

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix. 2. Check with your distribution for backported patches. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Avoid Btrfs filesystem

linux

Use alternative filesystems like ext4 or XFS instead of Btrfs

Limit write operations

linux

Implement monitoring and limits on Btrfs write operations to reduce likelihood of triggering the error condition

🧯 If You Can't Patch

  • Implement strict access controls to limit who can write to Btrfs filesystems
  • Monitor system logs for Btrfs error messages and kernel panic indicators

🔍 How to Verify

Check if Vulnerable:

Check kernel version and verify if Btrfs is in use: 'uname -r' and 'cat /proc/filesystems | grep btrfs'

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is updated and check that Btrfs operations complete without kernel panics under stress testing

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages related to Btrfs
  • BTRFS assertion failed errors
  • folio_test_locked assertion failures

Network Indicators:

  • None - this is a local filesystem vulnerability

SIEM Query:

Search for kernel logs containing 'BTRFS: error', 'assertion failed: folio_test_locked', or kernel panic messages

🔗 References

📤 Share & Export