CVE-2025-38376
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
25/07/2025
Last modified:
19/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
usb: chipidea: udc: disconnect/reconnect from host when do suspend/resume<br />
<br />
Shawn and John reported a hang issue during system suspend as below:<br />
<br />
- USB gadget is enabled as Ethernet<br />
- There is data transfer over USB Ethernet (scp a big file between host<br />
and device)<br />
- Device is going in/out suspend (echo mem > /sys/power/state)<br />
<br />
The root cause is the USB device controller is suspended but the USB bus<br />
is still active which caused the USB host continues to transfer data with<br />
device and the device continues to queue USB requests (in this case, a<br />
delayed TCP ACK packet trigger the issue) after controller is suspended,<br />
however the USB controller clock is already gated off. Then if udc driver<br />
access registers after that point, the system will hang.<br />
<br />
The correct way to avoid such issue is to disconnect device from host when<br />
the USB bus is not at suspend state. Then the host will receive disconnect<br />
event and stop data transfer in time. To continue make USB gadget device<br />
work after system resume, this will reconnect device automatically.<br />
<br />
To make usb wakeup work if USB bus is already at suspend state, this will<br />
keep connection for it only when USB device controller has enabled wakeup<br />
capability.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.97 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.37 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.15.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.16:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc4:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



