CVE-2025-38376
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-07-25

Last updated on: 2025-11-19

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: usb: chipidea: udc: disconnect/reconnect from host when do suspend/resume Shawn and John reported a hang issue during system suspend as below: - USB gadget is enabled as Ethernet - There is data transfer over USB Ethernet (scp a big file between host and device) - Device is going in/out suspend (echo mem > /sys/power/state) The root cause is the USB device controller is suspended but the USB bus is still active which caused the USB host continues to transfer data with device and the device continues to queue USB requests (in this case, a delayed TCP ACK packet trigger the issue) after controller is suspended, however the USB controller clock is already gated off. Then if udc driver access registers after that point, the system will hang. The correct way to avoid such issue is to disconnect device from host when the USB bus is not at suspend state. Then the host will receive disconnect event and stop data transfer in time. To continue make USB gadget device work after system resume, this will reconnect device automatically. To make usb wakeup work if USB bus is already at suspend state, this will keep connection for it only when USB device controller has enabled wakeup capability.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-07-25
Last Modified
2025-11-19
Generated
2026-05-07
AI Q&A
2025-07-25
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 7 associated CPEs
Vendor Product Version / Range
linux linux_kernel 6.16
linux linux_kernel 6.16
linux linux_kernel 6.16
linux linux_kernel 6.16
linux linux_kernel From 5.15.160 (inc) to 5.16 (inc)
linux linux_kernel From 5.15.160 (inc) to 5.16 (inc)
linux linux_kernel From 5.15.160 (inc) to 5.16 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-NVD-CWE-noinfo
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability occurs in the Linux kernel's USB device controller driver (chipidea udc) where the device controller is suspended but the USB bus remains active. This causes the USB host to continue transferring data while the device queues USB requests after the controller is suspended. Since the USB controller clock is gated off, any access to its registers by the driver causes the system to hang. The issue happens during system suspend/resume when USB gadget is enabled as Ethernet and data transfer is ongoing. The fix involves disconnecting the device from the host when the USB bus is not suspended to stop data transfer and reconnecting it after resume.


How can this vulnerability impact me? :

This vulnerability can cause the system to hang during suspend or resume operations when using USB gadget Ethernet with active data transfer. This can lead to system instability, loss of data transfer, and potentially require a hard reboot to recover from the hang.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by observing system hangs or freezes during suspend/resume cycles when using USB gadget Ethernet with active data transfer. Specifically, if the system hangs when the device goes in/out of suspend state (e.g., when executing 'echo mem > /sys/power/state') while transferring data over USB Ethernet (such as using scp to transfer large files), it indicates the presence of this issue. Monitoring USB device controller status and USB bus suspend state may help, but no specific commands are provided in the context.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, ensure that the USB device disconnects from the host when the USB bus is not in suspend state during system suspend. This causes the host to receive a disconnect event and stop data transfer in time, preventing system hang. After system resume, the device should automatically reconnect to continue USB gadget functionality. Additionally, if the USB bus is already in suspend state, keep the connection only if the USB device controller has wakeup capability enabled.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart