USB Gadget RNDIS Vulnerability in Linux Kernel
Summary
GSD-2022-1000728: usb: gadget: rndis: add spinlock for rndis response list. Affects Kernel versions >= f6281af9d62e128aa6efad29cf7265062af114f2, < 33222d1571d7ce8c1c75f6b488f38968fa93d2d9. No fix is published. How to fix ↓
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.
No signup required · Results in about 60 seconds
Background
The Linux Kernel is the core component of the Linux operating system, responsible for managing system resources and providing essential functionality. USB Gadget is a framework within the Linux Kernel that allows devices to act as USB peripherals. The RNDIS (Remote Network Driver Interface Specification) is a protocol used for emulating Ethernet devices over USB. This vulnerability affects the USB Gadget RNDIS implementation in the Linux Kernel.
Vulnerability Detail
The USB Gadget RNDIS implementation in the Linux Kernel prior to version 5.16.12 is vulnerable to a race condition. Specifically, there is a missing spinlock for the RNDIS response list, which can lead to a use-after-free vulnerability. An attacker with physical access to a USB device acting as a RNDIS gadget could exploit this vulnerability to execute arbitrary code or cause a denial of service.
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
There is no known workaround for this vulnerability. It is strongly advised to apply the official fix by updating the Linux Kernel.
Conclusion
The USB Gadget RNDIS vulnerability in the Linux Kernel poses a risk of arbitrary code execution or denial of service. To mitigate this vulnerability, it is crucial to update the Linux Kernel to version 5.16.12 or later. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
This vulnerability allows an attacker with physical access to a USB device acting as a RNDIS gadget to execute arbitrary code or cause a denial of service.
You can use the Vulert Playground at Vulert Scanner to check if your system is affected by this vulnerability. Simply upload your package-lock.json file and Vulert will provide real-time alerts for open-source vulnerabilities.
At the time of this report, there is no known public exploit for this vulnerability. However, it is important to apply the fix as soon as possible to mitigate the risk.
No, this vulnerability requires physical access to a USB device acting as a RNDIS gadget. Remote exploitation is not possible.
The only mitigation for this vulnerability is to update the Linux Kernel to version 5.16.12 or later. It is recommended to apply the official fix as soon as possible.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.