USB Gadget RNDIS Vulnerability in Linux Kernel
Summary
GSD-2022-1000947: usb: gadget: rndis: add spinlock for rndis response list. Affects Kernel versions >= f6281af9d62e128aa6efad29cf7265062af114f2, < 9f5d8ba538ef81cd86ea587ca3f8c77e26bea405. 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 a widely used open-source operating system kernel that serves as the foundation for various Linux distributions. It provides essential functionality for hardware abstraction, process management, memory management, and device drivers. The USB gadget subsystem in the Linux Kernel allows the system to act as a USB device, enabling functionalities such as USB tethering and USB networking. One of the supported USB gadget functions is RNDIS (Remote Network Driver Interface Specification), which allows the Linux system to emulate a network interface over USB. This vulnerability specifically affects the RNDIS implementation in the Linux Kernel.
Vulnerability Detail
The vulnerability in the RNDIS implementation of the Linux Kernel arises from a missing spinlock for the RNDIS response list. Without proper synchronization, concurrent access to the response list can lead to race conditions and potential memory corruption. An attacker with physical access to a vulnerable system could exploit this vulnerability to execute arbitrary code or cause a denial-of-service condition. The impact and attack plausibility of this vulnerability have not been proven yet.
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 workaround, users can disable the RNDIS gadget function in the Linux Kernel configuration if it is not required. This can be achieved by modifying the kernel configuration file and removing the RNDIS gadget option. However, this workaround should only be considered if the RNDIS functionality is not essential for the system's operation.
Conclusion
The USB Gadget RNDIS vulnerability in the Linux Kernel exposes systems to potential memory corruption and arbitrary code execution. It is crucial to update the kernel to the fixed version or apply the provided workaround if the RNDIS functionality is not necessary. For further support and assistance in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
The Linux Kernel is an open-source operating system kernel that provides essential functionality for various Linux distributions.
The USB gadget subsystem in the Linux Kernel allows the system to act as a USB device, enabling functionalities such as USB tethering and USB networking.
RNDIS (Remote Network Driver Interface Specification) is a USB gadget function that allows the Linux system to emulate a network interface over USB.
This vulnerability could allow an attacker with physical access to a vulnerable system to execute arbitrary code or cause a denial-of-service condition.
To fix this vulnerability, it is recommended to update the Linux Kernel to version v4.9.304 or later.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.