CVE-2024-57931

5.5 MEDIUM

📋 TL;DR

This CVE addresses a vulnerability in the Linux kernel's SELinux subsystem where encountering unknown extended permissions would trigger a BUG() call, causing a kernel panic. This affects all Linux systems using SELinux with extended permissions. The fix changes the behavior to ignore unknown permissions instead of crashing.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected versions not explicitly stated in CVE, but likely affects multiple stable kernel versions before the fix commits
Operating Systems: Linux distributions with SELinux enabled
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with SELinux enabled and using extended permissions. Most enterprise Linux distributions (RHEL, CentOS, Fedora, etc.) are potentially 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 →

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

An attacker could trigger a kernel panic (denial of service) by causing SELinux to encounter an unknown extended permission, potentially crashing the entire system.

🟠

Likely Case

System instability or crashes when SELinux encounters newer extended permissions not recognized by the kernel version, leading to denial of service.

🟢

If Mitigated

Minor system instability that self-corrects as unknown permissions are ignored rather than causing crashes.

🌐 Internet-Facing: LOW - This requires local access or ability to trigger specific SELinux permission checks, unlikely to be directly exploitable from remote.
🏢 Internal Only: MEDIUM - Local users or processes could potentially trigger this to cause denial of service on affected systems.

🎯 Exploit Status

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

Exploitation requires triggering SELinux to evaluate unknown extended permissions, which may require specific conditions or local access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing commits: 712137b177b45f255ce5687e679d950fcb218256, 900f83cf376bdaf798b6f5dcb2eae0c822e908b6, c1dbd28a079553de0023e1c938c713efeeee400f, c79324d42fa48372e0acb306a2761cc642bd4db0, efefe36c03a73bb81c0720ce397659a5051b73fa

Vendor Advisory: https://git.kernel.org/stable/c/712137b177b45f255ce5687e679d950fcb218256

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager (yum update kernel, apt-get upgrade linux-image). 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable SELinux

linux

Temporarily disable SELinux to avoid the vulnerability (not recommended for production)

setenforce 0
echo 0 > /sys/fs/selinux/enforce

Use permissive mode

linux

Set SELinux to permissive mode which logs but doesn't enforce policies

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

🧯 If You Can't Patch

  • Monitor system logs for kernel panic events related to SELinux
  • Restrict local user access to systems where kernel stability is critical

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if SELinux is enabled: sestatus && uname -r

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version contains fix commits or is newer than patched versions

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages in /var/log/messages or dmesg
  • SELinux denial logs with unknown permission errors

Network Indicators:

  • Sudden loss of connectivity to system (if kernel panics)

SIEM Query:

source="kernel" AND "panic" AND "SELinux" OR source="audit" AND "selinux" AND "unknown"

🔗 References

📤 Share & Export