CVE-2024-26715
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
03/04/2024
Last modified:
07/01/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend<br />
<br />
In current scenario if Plug-out and Plug-In performed continuously<br />
there could be a chance while checking for dwc->gadget_driver in<br />
dwc3_gadget_suspend, a NULL pointer dereference may occur.<br />
<br />
Call Stack:<br />
<br />
CPU1: CPU2:<br />
gadget_unbind_driver dwc3_suspend_common<br />
dwc3_gadget_stop dwc3_gadget_suspend<br />
dwc3_disconnect_gadget<br />
<br />
CPU1 basically clears the variable and CPU2 checks the variable.<br />
Consider CPU1 is running and right before gadget_driver is cleared<br />
and in parallel CPU2 executes dwc3_gadget_suspend where it finds<br />
dwc->gadget_driver which is not NULL and resumes execution and then<br />
CPU1 completes execution. CPU2 executes dwc3_disconnect_gadget where<br />
it checks dwc->gadget_driver is already NULL because of which the<br />
NULL pointer deference occur.
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:*:*:*:*:*:*:*:* | 3.16.81 (including) | 3.17 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.4.178 (including) | 4.5 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.6 (including) | 5.15.149 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.79 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.18 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.7.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/36695d5eeeefe5a64b47d0336e7c8fc144e78182
- https://git.kernel.org/stable/c/57e2e42ccd3cd6183228269715ed032f44536751
- https://git.kernel.org/stable/c/61a348857e869432e6a920ad8ea9132e8d44c316
- https://git.kernel.org/stable/c/88936ceab6b426f1312327e9ef849c215c6007a7
- https://git.kernel.org/stable/c/c7ebd8149ee519d27232e6e4940e9c02071b568b
- https://git.kernel.org/stable/c/36695d5eeeefe5a64b47d0336e7c8fc144e78182
- https://git.kernel.org/stable/c/57e2e42ccd3cd6183228269715ed032f44536751
- https://git.kernel.org/stable/c/61a348857e869432e6a920ad8ea9132e8d44c316
- https://git.kernel.org/stable/c/88936ceab6b426f1312327e9ef849c215c6007a7
- https://git.kernel.org/stable/c/c7ebd8149ee519d27232e6e4940e9c02071b568b



