CVE-2022-49943
BaseFortify
Publication date: 2025-06-18
Last updated on: 2025-11-14
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 5.19.7 |
| linux | linux_kernel | 6.0 |
| linux | linux_kernel | 6.0 |
| linux | linux_kernel | 6.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-667 | The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a lock dependency violation in the Linux kernel's USB gadget subsystem. It occurs because the scope of the udc_lock mutex was expanded too broadly, causing a circular locking dependency. This can lead to potential deadlocks or unpredictable behavior when the kernel tries to acquire locks in an order that conflicts with existing locks. The issue arises especially during gadget driver binding, unbinding, and UDC start/stop operations, where the mutex was held longer than necessary. The fix involves narrowing the mutex scope, adding proper locking checks, and ensuring mutual exclusion using the device lock instead of the udc_mutex in certain sysfs callbacks.
How can this vulnerability impact me? :
This vulnerability can cause obscure lockdep warnings indicating circular locking dependencies, which may lead to kernel deadlocks or instability in the USB gadget subsystem. Such instability can affect the reliability of USB device functions on affected Linux systems, potentially causing device malfunctions or system hangs during USB gadget operations.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, update your Linux kernel to a version that includes the fix for the udc_mutex lockdep violation. The fix involves reducing the scope of the udc_mutex to avoid holding it during gadget driver bind/unbind and UDC start/stop operations, and adding necessary locking in sysfs callbacks and function_show() routines. Ensuring your system runs the patched kernel version will prevent the obscure lockdep violation.