CVE-2026-90030
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
usb: dwc3: clear forceRM when issuing EndTransfer
The forceRM bit of the DEPCMD register controls the behavior of the EndTransfer command used to stop an active transfer. Older DWC3 programming guide revisions recommended setting forceRM=1 when issuing EndTransfer. Newer programming guide revisions recommend issuing EndTransfer with forceRM cleared.
With forceRM=1 on DWC_usb31 v2.00a and v2.10a controllers, a transfer aborted through the ep_dequeue path was observed to remain active after EndTransfer completion. A subsequent StartTransfer issued on the same endpoint triggered writes associated with the aborted transfer. This resulted in an SMMU fault because the transfer buffer had already been unmapped during EndTransfer command-completion cleanup.
Using forceRM=0 eliminates the issue. Although older DWC3 programming guide revisions recommended setting forceRM=1, no issues are known from using forceRM=0. Clear forceRM when issuing EndTransfer to provide consistent EndTransfer behavior and align with newer programming guide recommendations.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 1e43c86d84fb0503e82a143e017f35421498fc1a < 0afe5c31612de3d18cc6d16e616da4a48ba1e5a2 | affected |
| Linux | Linux | 1e43c86d84fb0503e82a143e017f35421498fc1a < e01408ee52fe5cb2d0b43f47f359336af2b6c316 | affected |
| Linux | Linux | 1e43c86d84fb0503e82a143e017f35421498fc1a < b58e6200450d350314db0ecda7d6d1bde3281e80 | affected |
| Linux | Linux | ab99c4be945724b032cc55e05c6738fe1d84bf70 | affected |
| Linux | Linux | 6.6.37 < 6.7 | affected |
| Linux | Linux | 6.9 | affected |
| Linux | Linux | 0 < 6.9 | unaffected |
| Linux | Linux | 6.18.51 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.5 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/0afe5c31612de3d18cc6d16e616da4a48ba1e5a2
- https://git.kernel.org/stable/c/e01408ee52fe5cb2d0b43f47f359336af2b6c316
- https://git.kernel.org/stable/c/b58e6200450d350314db0ecda7d6d1bde3281e80
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.