Bug 2300534 (CVE-2024-42085) - CVE-2024-42085 kernel: usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
Summary: CVE-2024-42085 kernel: usb: dwc3: core: remove lock of otg mode during gadget...
Keywords:
Status: NEW
Alias: CVE-2024-42085
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2301729
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-29 17:20 UTC by OSIDB Bzimport
Modified: 2024-07-31 04:45 UTC (History)
4 users (show)

Fixed In Version: kernel 5.15.162, kernel 6.1.97, kernel 6.6.37, kernel 6.9.8, kernel 6.10
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-07-29 17:20:27 UTC
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 CONFIG_USB_DWC3_DUAL_ROLE 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:
dwc3_suspend_common()
    spin_lock_irqsave(&dwc->lock, flags);              <-- 1st
    dwc3_gadget_suspend(dwc);
        dwc3_gadget_soft_disconnect(dwc);
            spin_lock_irqsave(&dwc->lock, flags);      <-- 2nd
This issue is exposed by commit c7ebd8149ee5 ("usb: dwc3: gadget: Fix
NULL pointer dereference in dwc3_gadget_suspend") that removes the code
of checking whether dwc->gadget_driver 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.

Comment 1 Mauro Matteo Cascella 2024-07-30 17:18:38 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2024072944-CVE-2024-42085-c342@gregkh/T

Comment 2 Mauro Matteo Cascella 2024-07-30 17:18:59 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 2301729]


Note You need to log in before you can comment on or make changes to this bug.