CVE-2019-19052

7.5 HIGH

📋 TL;DR

This vulnerability is a memory leak in the Linux kernel's CAN-USB driver that allows attackers to cause denial of service by consuming all available memory. It affects Linux systems with CAN-USB hardware support before kernel version 5.3.11. Attackers can trigger this by causing USB URB submission failures.

💻 Affected Systems

Products:
  • Linux kernel
Versions: All versions before 5.3.11
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with CAN-USB hardware support enabled in kernel configuration (CONFIG_CAN_GS_USB). Most desktop/workstation systems don't have this enabled by default.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system unavailability due to memory exhaustion, requiring hard reboot and potential data loss.

🟠

Likely Case

Degraded system performance leading to service disruption, particularly affecting systems using CAN-USB interfaces.

🟢

If Mitigated

Minimal impact if systems are patched or don't use CAN-USB functionality.

🌐 Internet-Facing: LOW - Requires local access or USB device interaction.
🏢 Internal Only: MEDIUM - Internal attackers with physical or logical access to USB ports could exploit this.

🎯 Exploit Status

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

Exploitation requires ability to trigger USB URB submission failures, typically requiring physical USB device access or driver manipulation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.3.11 and later

Vendor Advisory: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.3.11

Restart Required: Yes

Instructions:

1. Update kernel to version 5.3.11 or later. 2. For distributions: Use package manager (apt-get upgrade linux-image, yum update kernel, etc.). 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable CAN-USB driver

linux

Remove or blacklist the gs_usb kernel module to prevent loading

echo 'blacklist gs_usb' > /etc/modprobe.d/blacklist-gs_usb.conf
rmmod gs_usb

🧯 If You Can't Patch

  • Disable CAN-USB hardware support in kernel configuration
  • Restrict physical access to USB ports and monitor for suspicious USB device connections

🔍 How to Verify

Check if Vulnerable:

Check kernel version: uname -r. If version is <5.3.11 and gs_usb module is loaded (lsmod | grep gs_usb), system is vulnerable.

Check Version:

uname -r

Verify Fix Applied:

After patching, verify kernel version is ≥5.3.11 with uname -r and check that memory consumption doesn't spike during CAN-USB operations.

📡 Detection & Monitoring

Log Indicators:

  • Kernel logs showing memory allocation failures (dmesg | grep -i 'out of memory')
  • System logs showing high memory usage patterns

Network Indicators:

  • Unusual CAN bus traffic patterns if network monitoring is available

SIEM Query:

source="kernel" AND ("out of memory" OR "gs_usb" OR "memory leak")

🔗 References

📤 Share & Export