CVE-2024-42085

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-42085
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-42085.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-42085
Downstream
Related
Published
2024-07-29T16:26:26.284Z
Modified
2025-11-27T19:35:49.156420Z
Summary
usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
Details

In the Linux kernel, the following vulnerability has been resolved:

usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock

When config CONFIGUSBDWC3DUALROLE is selected, and trigger system to enter suspend status with below command: echo mem > /sys/power/state There will be a deadlock issue occurring. Detailed invoking path as below: dwc3suspendcommon() spinlockirqsave(&dwc->lock, flags); <-- 1st dwc3gadgetsuspend(dwc); dwc3gadgetsoftdisconnect(dwc); spinlockirqsave(&dwc->lock, flags); <-- 2nd This issue is exposed by commit c7ebd8149ee5 ("usb: dwc3: gadget: Fix NULL pointer dereference in dwc3gadgetsuspend") that removes the code of checking whether dwc->gadgetdriver is NULL or not. It causes the following code is executed and deadlock occurs when trying to get the spinlock. In fact, the root cause is the commit 5265397f9442("usb: dwc3: Remove DWC3 locking during gadget suspend/resume") that forgot to remove the lock of otg mode. So, remove the redundant lock of otg mode during gadget suspend/resume.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/blob/ee626f5d79d5817bb21d6f048dc0da4c4e383443/cves/2024/42xxx/CVE-2024-42085.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
f2bfd0a2a640ca2f308b6893a89cfb2ec31e8fde
Fixed
8731a0b180f6b5d52397c7aeea6eda9511a467a7
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
2fa487a9466760a4fb6f147aed6219379dabfc2e
Fixed
7026576e89094aa9a0062aa6d10cba18aa99944c
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5265397f94424eaea596026fd34dc7acf474dcec
Fixed
d77e2b5104c51d3668b9717c825a4a06998efe63
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5265397f94424eaea596026fd34dc7acf474dcec
Fixed
17e2956633ca560b95f1cbbb297cfc2adf650649
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5265397f94424eaea596026fd34dc7acf474dcec
Fixed
f1274cfab183e69a7c7bafffcb4f50703c876276
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5265397f94424eaea596026fd34dc7acf474dcec
Fixed
7838de15bb700c2898a7d741db9b1f3cbc86c136

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.15.162
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.97
Type
ECOSYSTEM
Events
Introduced
6.1.0
Fixed
6.6.37
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.9.8