CVE-2018-5391

7.5 HIGH

📋 TL;DR

CVE-2018-5391 is a Linux kernel vulnerability that allows remote attackers to cause a denial of service by sending specially crafted IP fragments that overwhelm the fragment reassembly queue. This affects Linux kernel versions 3.9 and later, making most modern Linux systems vulnerable. The attack requires low packet rates, making it relatively easy to execute.

💻 Affected Systems

Products:
  • Linux kernel
Versions: 3.9 and later
Operating Systems: All Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Systems with increased IP fragment reassembly queue size (default in modern kernels) are more vulnerable. Network devices and servers processing IP fragments are at highest risk.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system unavailability requiring reboot, affecting all network services on the target system.

🟠

Likely Case

Degraded network performance and intermittent service disruptions affecting TCP-based applications.

🟢

If Mitigated

Minimal impact with proper network filtering and rate limiting in place.

🌐 Internet-Facing: HIGH - Remote attackers can exploit this without authentication from anywhere on the internet.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this, but typically have less motivation than external attackers.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploit code has been published in security advisories. The attack requires sending specially crafted IP fragments at relatively low rates (as low as 30 Mbps).

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions with fixes backported to various distributions. Check specific distribution advisories.

Vendor Advisory: https://www.kernel.org/

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution's repository. 2. For Red Hat/CentOS: yum update kernel. 3. For Ubuntu/Debian: apt update && apt upgrade linux-image-*. 4. Reboot system to load new kernel.

🔧 Temporary Workarounds

Reduce IP fragment reassembly queue size

linux

Lower the maximum number of IP fragments that can be queued for reassembly

sysctl -w net.ipv4.ipfrag_high_thresh=262144
sysctl -w net.ipv4.ipfrag_low_thresh=196608

Enable IP fragment filtering

linux

Drop IP fragments at network perimeter

iptables -A INPUT -f -j DROP

🧯 If You Can't Patch

  • Implement network filtering to drop IP fragments at perimeter firewalls
  • Use intrusion prevention systems (IPS) to detect and block fragment-based attacks

🔍 How to Verify

Check if Vulnerable:

Check kernel version: uname -r. If version is 3.9 or higher and not patched, system is vulnerable.

Check Version:

uname -r

Verify Fix Applied:

Check if kernel has been updated to a version that includes the fix. For Red Hat: rpm -q kernel. For Ubuntu: dpkg -l | grep linux-image.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic logs
  • High system load without apparent cause
  • Network interface errors

Network Indicators:

  • Unusual IP fragment traffic patterns
  • High rate of fragmented packets
  • TCP connection timeouts

SIEM Query:

source="kernel" AND ("panic" OR "Oops") OR (source="firewall" AND "fragment" AND rate>1000)

🔗 References

📤 Share & Export