CVE-2021-47495

5.5 MEDIUM

📋 TL;DR

A Linux kernel vulnerability in the USB network driver (usbnet) where a maxpacket value of 0 causes a division-by-zero error, leading to kernel oops/panic. This affects Linux systems with USB network devices and can cause denial of service. The vulnerability requires local access or ability to trigger USB device interactions.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected versions not explicitly stated in CVE, but references indicate stable kernel patches from git commits.
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires USB network device functionality to be used/triggered. Not all systems may have vulnerable code paths active.

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

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 →

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

Kernel panic causing system crash and denial of service, potentially leading to data loss or service disruption.

🟠

Likely Case

System crash or kernel oops when a malicious or malformed USB network device is connected, requiring reboot to restore service.

🟢

If Mitigated

Minor service interruption if system automatically recovers from oops, or no impact if vulnerable code path isn't triggered.

🌐 Internet-Facing: LOW - Requires physical or local USB device access, not directly exploitable over network.
🏢 Internal Only: MEDIUM - Insider threat or compromised internal user could trigger via USB device, causing system instability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM - Requires ability to interact with USB subsystem, either physically or through compromised USB device.

Exploitation requires triggering the vulnerable code path with maxpacket=0, likely through USB device manipulation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing fixes from referenced git commits

Vendor Advisory: https://git.kernel.org/stable/c/397430b50a363d8b7bdda00522123f82df6adc5e

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from distribution vendor. 2. Reboot system to load new kernel. 3. Verify kernel version after reboot.

🔧 Temporary Workarounds

Disable USB network devices

linux

Prevent loading of usbnet driver or block USB network device usage

echo 'blacklist usbnet' >> /etc/modprobe.d/blacklist.conf
rmmod usbnet

Restrict USB device access

linux

Use udev rules or physical security to prevent unauthorized USB device connections

# Create udev rule to block specific USB devices or require authorization

🧯 If You Can't Patch

  • Implement strict physical security controls to prevent unauthorized USB device connections
  • Monitor system logs for kernel oops/panic events related to usbnet driver

🔍 How to Verify

Check if Vulnerable:

Check kernel version against distribution security advisories. Vulnerable if using unpatched kernel with usbnet driver.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version matches patched version from vendor advisory and test USB network device functionality.

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages mentioning usbnet
  • Division by zero errors in kernel logs
  • System crash/panic logs

Network Indicators:

  • Sudden loss of network connectivity on USB interfaces

SIEM Query:

source="kernel" AND ("usbnet" OR "division by zero")

🔗 References

📤 Share & Export