CVE-2021-47426

5.5 MEDIUM

📋 TL;DR

This CVE describes a memory leak vulnerability in the Linux kernel's BPF JIT compiler for s390 architecture. If triggered, it could cause kernel memory exhaustion over time, potentially leading to denial of service. Systems running Linux kernel with BPF JIT enabled on s390 architecture are affected.

💻 Affected Systems

Products:
  • Linux Kernel
Versions: Specific affected versions not explicitly stated in CVE, but patches exist for multiple stable branches
Operating Systems: Linux distributions running on s390/s390x architecture
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when BPF JIT compiler is enabled on s390 architecture systems. Most distributions disable BPF JIT by default or only enable for privileged users.

📦 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

Sustained exploitation could exhaust kernel memory, causing system instability, crashes, or denial of service requiring reboot.

🟠

Likely Case

Gradual memory consumption leading to performance degradation and eventual system instability if vulnerable code paths are frequently triggered.

🟢

If Mitigated

Minimal impact with proper memory monitoring and restart procedures in place.

🌐 Internet-Facing: LOW - Requires local access or ability to execute BPF programs on the system.
🏢 Internal Only: MEDIUM - Local users or processes with BPF execution privileges could trigger the vulnerability.

🎯 Exploit Status

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

Requires ability to load and execute BPF programs on the system, typically requiring CAP_BPF or CAP_SYS_ADMIN capabilities.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Multiple stable kernel versions with commits: 29fdb11ca88d3c490a3d56f0dc77eb9444d086be, 686cb8b9f6b46787f035afe8fbd132a74e6b1bdd, a326f9c01cfbee4450ae49ce618ae6cbc0f76842, d590a410e472417a22336c7c37685bfb38e801f2

Vendor Advisory: https://git.kernel.org/stable/c/29fdb11ca88d3c490a3d56f0dc77eb9444d086be

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution vendor. 2. Reboot system to load new kernel. 3. Verify kernel version matches patched release.

🔧 Temporary Workarounds

Disable BPF JIT on s390

linux

Disable the BPF JIT compiler to prevent exploitation of this vulnerability

echo 0 > /proc/sys/net/core/bpf_jit_enable

Restrict BPF program loading

linux

Limit which users can load BPF programs using capabilities or SELinux/AppArmor

setcap -r /usr/bin/bpftool
chmod 750 /usr/bin/bpftool

🧯 If You Can't Patch

  • Implement strict capability controls to prevent unprivileged BPF program loading
  • Monitor kernel memory usage and implement automated alerts for abnormal consumption patterns

🔍 How to Verify

Check if Vulnerable:

Check if running on s390 architecture with BPF JIT enabled: cat /proc/sys/net/core/bpf_jit_enable should return 1 on s390/s390x systems

Check Version:

uname -r

Verify Fix Applied:

Check kernel version includes one of the fix commits: uname -r and verify with distribution patch notes

📡 Detection & Monitoring

Log Indicators:

  • Kernel oom-killer messages
  • System memory exhaustion warnings in dmesg
  • BPF program loading failures

Network Indicators:

  • None - this is a local vulnerability

SIEM Query:

source="kernel" AND ("out of memory" OR "oom-killer" OR "BPF" AND "error")

🔗 References

📤 Share & Export