CVE-2021-46941
Last modified
CVE-2021-46941 is a medium-severity vulnerability rated 5.5/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: core: Do core softreset when switch mode According to the programming guide, to switch mode for DRD controller, the driver needs to do the following. To switch from device to host: 1. Reset controller with GCTL.CoreSoftReset 2. EPSS estimates a 0.22% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: core: Do core softreset when switch mode According to the programming guide, to switch mode for DRD controller, the driver needs to do the following. To switch from device to host: 1. Reset controller with GCTL.CoreSoftReset 2. Set GCTL.PrtCapDir(host mode) 3. Reset the host with USBCMD.HCRESET 4. Then follow up with the initializing host registers sequence To switch from host to device: 1. Reset controller with GCTL.CoreSoftReset 2. Set GCTL.PrtCapDir(device mode) 3. Reset the device with DCTL.CSftRst 4. Then follow up with the initializing registers sequence Currently we're missing step 1) to do GCTL.CoreSoftReset and step 3) of switching from host to device. John Stult reported a lockup issue seen with HiKey960 platform without these steps[1]. Similar issue is observed with Ferry's testing platform[2]. So, apply the required steps along with some fixes to Yu Chen's and John Stultz's version. The main fixes to their versions are the missing wait for clocks synchronization before clearing GCTL.CoreSoftReset and only apply DCTL.CSftRst when switching from host to device. [1] https://lore.kernel.org/linux-usb/20210108015115.27920-1-john.stultz@linaro.org/ [2] https://lore.kernel.org/linux-usb/0ba7a6ba-e6a7-9cd4-0695-64fc927e01f1@gmail.com/
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux Kernel | >= 4.12.0, < 5.10.36 |
| Linux | Linux Kernel | >= 5.11.0, < 5.11.20 |
| Linux | Linux Kernel | >= 5.12.0, < 5.12.3 |
References
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2021-46941?
How severe is CVE-2021-46941?
How do I fix CVE-2021-46941?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2021
- CVE-2021-46935In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2021-46936In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2021-46937In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2021-46938In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2021-46939In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2021-46940In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2021-46942In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2021-46943In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2021-46944In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2021-46945In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2021-46946Rejected reason: This CVE ID has been rejected or withdrawn …
- CVE-2021-46947In the Linux kernel, the following vulnerability has been re…5.5
Are you affected by CVE-2021-46941?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
