CVE-2019-15239
📋 TL;DR
This CVE describes a use-after-free vulnerability in the Linux kernel's TCP implementation that was introduced through an incorrect backport of a security fix. A local attacker can trigger kernel crashes or potentially escalate privileges by manipulating TCP write queues during disconnection and reconnection. This primarily affects systems running longterm Linux kernel versions 4.9.x before 4.9.190 or 4.14.x before 4.14.139.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Local privilege escalation leading to full system compromise, kernel panic causing system crashes, or denial of service.
Likely Case
Kernel crash leading to system instability or denial of service, with privilege escalation being more difficult to achieve reliably.
If Mitigated
Limited impact if proper access controls restrict local user access and systems are isolated from untrusted users.
🎯 Exploit Status
Exploitation requires local access and manipulation of TCP sockets during specific timing windows. The vulnerability was discovered through code analysis rather than active exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel 4.9.190, 4.14.139, or later versions in those series
Vendor Advisory: https://access.redhat.com/errata/RHSA-2019:3978
Restart Required: Yes
Instructions:
1. Update kernel package using your distribution's package manager (yum update kernel, apt-get upgrade linux-image, etc.)
2. Reboot the system to load the new kernel
3. Verify the kernel version matches or exceeds the patched versions
🔧 Temporary Workarounds
Restrict local user access
linuxLimit shell access to trusted users only to reduce attack surface
# Review and restrict user accounts with shell access
cat /etc/passwd | grep -E '(/bin/bash|/bin/sh)'
# Use access controls like sudo restrictions, SELinux/AppArmor policies
🧯 If You Can't Patch
- Implement strict access controls to limit local user accounts and shell access
- Monitor system logs for kernel panics or unusual TCP socket activity
🔍 How to Verify
Check if Vulnerable:
Check kernel version: uname -r. If version is 4.9.x and < 4.9.190, or 4.14.x and < 4.14.139, system is vulnerable.
Check Version:
uname -r
Verify Fix Applied:
After patching and reboot, verify kernel version with uname -r shows 4.9.190+, 4.14.139+, or a different unaffected kernel series.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages in /var/log/messages or dmesg
- TCP socket errors or unusual socket operations in system logs
Network Indicators:
- No network indicators - this is a local vulnerability
SIEM Query:
source="kernel" AND ("panic" OR "Oops" OR "use-after-free") AND ("tcp" OR "socket")
🔗 References
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00064.html
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00066.html
- https://access.redhat.com/errata/RHSA-2019:3978
- https://access.redhat.com/errata/RHSA-2019:3979
- https://access.redhat.com/errata/RHSA-2020:0027
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7f582b248d0a86bae5788c548d7bb5bca6f7691a
- https://lore.kernel.org/stable/41a61a2f87691d2bc839f26cdfe6f5ff2f51e472.camel%40decadent.org.uk/
- https://pulsesecurity.co.nz/advisories/linux-kernel-4.9-tcpsocketsuaf
- https://salsa.debian.org/kernel-team/kernel-sec/blob/f6273af2d956a87296b6b60379d0a186c9be4bbc/active/CVE-2019-15239
- https://www.debian.org/security/2019/dsa-4497
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00064.html
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00066.html
- https://access.redhat.com/errata/RHSA-2019:3978
- https://access.redhat.com/errata/RHSA-2019:3979
- https://access.redhat.com/errata/RHSA-2020:0027
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7f582b248d0a86bae5788c548d7bb5bca6f7691a
- https://lore.kernel.org/stable/41a61a2f87691d2bc839f26cdfe6f5ff2f51e472.camel%40decadent.org.uk/
- https://pulsesecurity.co.nz/advisories/linux-kernel-4.9-tcpsocketsuaf
- https://salsa.debian.org/kernel-team/kernel-sec/blob/f6273af2d956a87296b6b60379d0a186c9be4bbc/active/CVE-2019-15239
- https://www.debian.org/security/2019/dsa-4497