USBNet: Sanity Check for Maxpacket Vulnerability in Linux Kernel

Kernel Updated 02 Oct 2025

Summary

14/11/2021
N/A
No i
Unrated
Not published

UVI-2021-1001986: usbnet: sanity check for maxpacket. Affects Kernel versions < 002d82227c0abe29118cf80f7e2f396b22d448ed. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

The Linux Kernel is a widely used open-source operating system kernel that serves as the foundation for various Linux distributions. It provides essential functionality and interfaces for hardware, software, and user applications. USBNet is a subsystem within the Linux Kernel that enables USB devices to act as network interfaces. It allows devices such as smartphones, tablets, and network adapters to communicate with the kernel and other network components.

However, a vulnerability has been identified in USBNet that could potentially be exploited by attackers. This vulnerability relates to a missing sanity check for the 'maxpacket' parameter, which defines the maximum packet size for USB transfers. Without proper validation, an attacker could manipulate this parameter to trigger buffer overflows, leading to potential memory corruption and arbitrary code execution.

Vulnerability Detail

The USBNet vulnerability arises from the absence of a sanity check for the 'maxpacket' parameter. This parameter determines the maximum packet size for USB transfers. By exploiting this vulnerability, an attacker could send specially crafted USB packets with a manipulated 'maxpacket' value, potentially causing buffer overflows and memory corruption. This could result in arbitrary code execution within the kernel's context, enabling the attacker to gain unauthorized access, escalate privileges, or launch further attacks.

The impact of this vulnerability depends on the attacker's capabilities and the specific context in which the affected system is used. However, given the potential for arbitrary code execution, the consequences could be severe, including the compromise of sensitive data, disruption of services, or complete system compromise.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As a temporary workaround, users can apply a patch or modify the affected code manually to include the missing sanity check for the 'maxpacket' parameter. Here is an example of the code modification:

--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -1234,6 +1234,9 @@ static int usbnet_probe (struct usb_interface *udev, const struct usb_device_id
 		goto out;
 	}
 
+	/* Sanity check for maxpacket */
+	if (dev->maxpacket < 0 || dev->maxpacket > MAX_PACKET_SIZE)
+		return -EINVAL;
 	/* ... rest of the code ... */

Conclusion

The USBNet vulnerability in the Linux Kernel exposes systems to potential memory corruption and arbitrary code execution. To mitigate this risk, it is crucial to update the Linux Kernel to version v4.19.215 or later, which includes the necessary fix. Alternatively, users can apply the provided workaround until the update is applied. Regularly monitoring for vulnerabilities using tools like Vulert can help ensure the timely identification and remediation of such issues. For further assistance or information on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

FAQ

USBNet is a subsystem within the Linux Kernel that enables USB devices to act as network interfaces. It allows devices such as smartphones, tablets, and network adapters to communicate with the kernel and other network components.

The impact of this vulnerability depends on the attacker's capabilities and the specific context in which the affected system is used. However, given the potential for arbitrary code execution, the consequences could be severe, including the compromise of sensitive data, disruption of services, or complete system compromise.

To fix this vulnerability, it is recommended to update the Linux Kernel to version v4.19.215 or later. The fix for this vulnerability was implemented in commit 002d82227c0abe29118cf80f7e2f396b22d448ed of the Linux Kernel repository. Detailed instructions for updating the Kernel can be found in the 'how_to_fix' section of this report.

Yes, as a temporary workaround, users can apply a patch or manually modify the affected code to include the missing sanity check for the 'maxpacket' parameter. Detailed instructions for the workaround can be found in the 'workaround' section of this report.

For more information about this vulnerability, you can refer to the official Linux Kernel repository at https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/. Additionally, you can reach out to info@devnack.com for further support on vulnerability remediation.

Related vulnerabilities

Recent vulnerabilities recorded for Kernel.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback