CVE-2020-8835

7.8 HIGH

📋 TL;DR

This vulnerability in the Linux kernel's BPF verifier allows attackers to bypass memory bounds checks for 32-bit operations, leading to out-of-bounds reads and writes in kernel memory. It affects Linux kernel versions 5.5.0+, 5.4.7+, and was introduced via a backported commit. This could allow local privilege escalation or kernel memory corruption.

💻 Affected Systems

Products:
  • Linux kernel
Versions: 5.5.0 to 5.5.13, 5.4.7 to 5.4.28, and 5.6.0
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires CONFIG_BPF_SYSCALL enabled (default in most distributions). Affects systems where unprivileged BPF is enabled.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local privilege escalation to root, kernel memory corruption leading to system crash, or potential remote code execution if combined with other vulnerabilities.

🟠

Likely Case

Local privilege escalation allowing unprivileged users to gain root access on affected systems.

🟢

If Mitigated

Limited impact if proper access controls restrict local user accounts and BPF functionality is disabled.

🌐 Internet-Facing: LOW - This is primarily a local privilege escalation vulnerability requiring local access.
🏢 Internal Only: HIGH - Any local user on affected systems could potentially exploit this to gain root privileges.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires local access and understanding of BPF internals. Proof-of-concept code has been published in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.6.1, 5.5.14, 5.4.29

Vendor Advisory: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f2d67fec0b43edce8c416101cdc52e71145b5fef

Restart Required: Yes

Instructions:

1. Update kernel to patched version via distribution package manager. 2. For RHEL/CentOS: yum update kernel. 3. For Ubuntu/Debian: apt update && apt upgrade linux-image-generic. 4. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable unprivileged BPF

linux

Prevents unprivileged users from using BPF, which mitigates the vulnerability

sysctl -w kernel.unprivileged_bpf_disabled=1
echo 'kernel.unprivileged_bpf_disabled = 1' >> /etc/sysctl.conf
sysctl -p

🧯 If You Can't Patch

  • Implement strict access controls to limit local user accounts
  • Disable BPF functionality via kernel boot parameter: 'bpf_jit_enable=0' and 'kernel.unprivileged_bpf_disabled=1'

🔍 How to Verify

Check if Vulnerable:

Check kernel version: uname -r. If version is between 5.4.7-5.4.28, 5.5.0-5.5.13, or exactly 5.6.0, system is vulnerable.

Check Version:

uname -r

Verify Fix Applied:

After patching, verify kernel version is 5.4.29+, 5.5.14+, or 5.6.1+. Check with: uname -r

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages
  • BPF verifier error messages in dmesg
  • Unexpected privilege escalation events

Network Indicators:

  • Not applicable - local vulnerability

SIEM Query:

source="kernel" AND ("BPF" OR "verifier" OR "bounds check") AND severity=HIGH

🔗 References

📤 Share & Export