Refcount Leak in lpc32xx_udc_probe in Kernel
Summary
GSD-2022-1004294: usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe. Affects Kernel versions >= 24a28e4283510dcd58890379a42b8a7d3201d9d3, < 727c82d003e0ec64411fd1257a9a57de4ad7a99a. 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 Kernel is a fundamental component of the Linux operating system that provides core functionalities and interfaces between hardware and software. It is responsible for managing system resources, including memory, processes, and device drivers. The lpc32xx_udc module is a USB gadget driver for the LPC32xx family of microcontrollers. It allows the device to act as a USB peripheral and communicate with a host system. However, a vulnerability has been discovered in the lpc32xx_udc_probe function, which can lead to a refcount leak.
Vulnerability Detail
The lpc32xx_udc_probe function in the lpc32xx_udc module of the Kernel suffers from a refcount leak vulnerability. This vulnerability was introduced in version v3.5 of the Kernel by commit 24a28e4283510dcd58890379a42b8a7d3201d9d3 and is fixed in version v5.18.6 by commit 727c82d003e0ec64411fd1257a9a57de4ad7a99a. The vulnerability occurs when the lpc32xx_udc_probe function fails to properly release the reference count of a USB gadget device, leading to a resource leak. An attacker could exploit this vulnerability to cause a denial-of-service condition or potentially execute arbitrary code.
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 lpc32xx_udc module if it is not required for their system. This can be done by blacklisting the module or removing it from the Kernel configuration before compiling and installing. However, this workaround should only be considered if the lpc32xx_udc module is not essential for the system's functionality.
Conclusion
In conclusion, the lpc32xx_udc module in the Kernel is vulnerable to a refcount leak, which can result in a denial-of-service condition or potential execution of arbitrary code. It is crucial to update the Kernel to version v5.18.6 or later to fix this vulnerability. Alternatively, users can disable the lpc32xx_udc module if it is not required for their system. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
This vulnerability can lead to a denial-of-service condition or potential execution of arbitrary code.
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 analyze it for any open-source vulnerabilities, including this one.
At the time of this report, there is no known exploit for this vulnerability. However, it is recommended to apply the fix as soon as possible to mitigate any potential risks.
Yes, you can disable the lpc32xx_udc module as a temporary measure if it is not essential for your system. Please refer to the 'workaround' section for instructions on how to do this.
You can find more information about this vulnerability in the GSD-2022-1004294 entry of the GSD Database maintained by the Cloud Security Alliance. The link to the specific entry is available in the 'affected' section of this report.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.