USB Gadget f_sourcesink Isoc Transfer Vulnerability in Linux Kernel
Summary
GSD-2022-1000122: usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS. Affects Kernel versions >= 10770d2ac0094b053c8897d96d7b2737cd72f7c5, < 2ad9bf965b1c85248ec4eefdf79df3e0f3a3c9a7. 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 enables devices to act as USB peripherals. The f_sourcesink gadget driver is responsible for supporting USB functions that can act as both a source and a sink. This vulnerability affects the f_sourcesink gadget driver in the Linux Kernel.
Vulnerability Detail
The USB Gadget f_sourcesink driver in the Linux Kernel is vulnerable to an isochronous (isoc) transfer issue when operating at USB_SPEED_SUPER_PLUS. This vulnerability was introduced in version v4.19.195 of the Linux Kernel by commit 10770d2ac0094b053c8897d96d7b2737cd72f7c5 and fixed in version v4.19.228 by commit 2ad9bf965b1c85248ec4eefdf79df3e0f3a3c9a7. The isoc transfer issue can potentially lead to data corruption or system instability when the f_sourcesink gadget driver is used at USB_SPEED_SUPER_PLUS.
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
If updating the Linux Kernel is not immediately feasible, a possible workaround is to avoid using the f_sourcesink gadget driver at USB_SPEED_SUPER_PLUS. This can be achieved by configuring the USB gadget to operate at a lower speed, such as USB_SPEED_SUPER. The specific steps to configure the USB gadget depend on the system and its configuration. Consult the relevant documentation or seek assistance from the Linux Kernel community for guidance on configuring the USB gadget.
Conclusion
The USB Gadget f_sourcesink Isoc Transfer Vulnerability in the Linux Kernel can potentially lead to data corruption or system instability when the f_sourcesink gadget driver is used at USB_SPEED_SUPER_PLUS. It is recommended to update the Linux Kernel to version v4.19.228 or later to fix this vulnerability. If immediate updating is not possible, configuring the USB gadget to operate at a lower speed can serve as a temporary workaround. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
This vulnerability can potentially lead to data corruption or system instability when the f_sourcesink gadget driver is used at USB_SPEED_SUPER_PLUS.
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 to the playground, and it will analyze the dependencies and alert you if any vulnerabilities, including this one, are found.
At the time of this report, there is no known exploit for this vulnerability. However, it is important to promptly apply the recommended fixes to mitigate the risk.
The recommended workaround is to avoid using the f_sourcesink gadget driver at USB_SPEED_SUPER_PLUS. Configuring the USB gadget to operate at a lower speed, such as USB_SPEED_SUPER, can help mitigate the vulnerability.
For more information about this vulnerability, you can refer to the vulnerability database entry at https://github.com/cloudsecurityalliance/gsd-database/blob/main/2022/1000xxx/GSD-2022-1000122.json
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.