CVE-2018-20784
📋 TL;DR
A Linux kernel scheduler vulnerability allows attackers to trigger an infinite loop in the update_blocked_averages function by inducing high system load. This can cause denial of service (system hang) or potentially other unspecified impacts. Affects Linux systems running kernel versions before 4.20.2.
💻 Affected Systems
- Linux kernel
📦 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 →Ubuntu Linux by Canonical
Ubuntu Linux by Canonical
Ubuntu Linux by Canonical
⚠️ Risk & Real-World Impact
Worst Case
Complete system hang requiring hard reboot, potential for privilege escalation or data corruption in unspecified scenarios.
Likely Case
Denial of service causing system unresponsiveness, requiring reboot to recover.
If Mitigated
Limited impact if system load is controlled and monitoring detects abnormal behavior early.
🎯 Exploit Status
Exploitation requires ability to induce sustained high load on the system, which could be achieved through various means including malicious processes or resource exhaustion attacks.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel 4.20.2 and later
Vendor Advisory: https://access.redhat.com/errata/RHSA-2019:1959
Restart Required: Yes
Instructions:
1. Update kernel to version 4.20.2 or later. 2. For Red Hat systems: yum update kernel. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Load limiting
linuxImplement system load monitoring and limiting to prevent conditions that could trigger the vulnerability
# Use cgroups to limit process resources
# Implement ulimit restrictions
# Monitor system load with tools like atop or sar
🧯 If You Can't Patch
- Implement strict resource limits using cgroups to prevent high load conditions
- Monitor system load and implement automated alerts for abnormal load patterns
🔍 How to Verify
Check if Vulnerable:
Check kernel version: uname -r. If version is earlier than 4.20.2, system is vulnerable.
Check Version:
uname -r
Verify Fix Applied:
After patching, verify kernel version is 4.20.2 or later with: uname -r
📡 Detection & Monitoring
Log Indicators:
- Kernel hangs or watchdog timeouts
- High CPU usage without corresponding process activity
- System becoming unresponsive
Network Indicators:
- Sudden drop in service availability
- Increased timeout errors from affected system
SIEM Query:
source="kernel" AND ("watchdog" OR "hung" OR "stall") OR (source="system" AND load>threshold)
🔗 References
- http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c40f7d74c741a907cfaeb73a7697081881c497d0
- https://access.redhat.com/errata/RHSA-2019:1959
- https://access.redhat.com/errata/RHSA-2019:1971
- https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.20.2
- https://github.com/torvalds/linux/commit/c40f7d74c741a907cfaeb73a7697081881c497d0
- https://usn.ubuntu.com/4115-1/
- https://usn.ubuntu.com/4118-1/
- https://usn.ubuntu.com/4211-1/
- https://usn.ubuntu.com/4211-2/
- http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c40f7d74c741a907cfaeb73a7697081881c497d0
- https://access.redhat.com/errata/RHSA-2019:1959
- https://access.redhat.com/errata/RHSA-2019:1971
- https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.20.2
- https://github.com/torvalds/linux/commit/c40f7d74c741a907cfaeb73a7697081881c497d0
- https://usn.ubuntu.com/4115-1/
- https://usn.ubuntu.com/4118-1/
- https://usn.ubuntu.com/4211-1/
- https://usn.ubuntu.com/4211-2/