CVE-2024-57981
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
27/02/2025
Last modified:
13/03/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
usb: xhci: Fix NULL pointer dereference on certain command aborts<br />
<br />
If a command is queued to the final usable TRB of a ring segment, the<br />
enqueue pointer is advanced to the subsequent link TRB and no further.<br />
If the command is later aborted, when the abort completion is handled<br />
the dequeue pointer is advanced to the first TRB of the next segment.<br />
<br />
If no further commands are queued, xhci_handle_stopped_cmd_ring() sees<br />
the ring pointers unequal and assumes that there is a pending command,<br />
so it calls xhci_mod_cmd_timer() which crashes if cur_cmd was NULL.<br />
<br />
Don&#39;t attempt timer setup if cur_cmd is NULL. The subsequent doorbell<br />
ring likely is unnecessary too, but it&#39;s harmless. Leave it alone.<br />
<br />
This is probably Bug 219532, but no confirmation has been received.<br />
<br />
The issue has been independently reproduced and confirmed fixed using<br />
a USB MCU programmed to NAK the Status stage of SET_ADDRESS forever.<br />
Everything continued working normally after several prevented crashes.
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 (including) | 6.1.129 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.76 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.13 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.13.2 (excluding) |
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/0ce5c0dac768be14afe2426101b568a0f66bfc4d
- https://git.kernel.org/stable/c/1e0a19912adb68a4b2b74fd77001c96cd83eb073
- https://git.kernel.org/stable/c/4ff18870af793ce2034a6ad746e91d0a3d985b88
- https://git.kernel.org/stable/c/ae069cd2ba09a2bd6a87a68c59ef0b7ea39cd641
- https://git.kernel.org/stable/c/b44253956407046e5907d4d72c8fa5b93ae94485
- https://git.kernel.org/stable/c/b649f0d5bc256f691c7d234c3986685d54053de1
- https://git.kernel.org/stable/c/cf30300a216a4f8dce94e11781a866a09d4b50d4
- https://git.kernel.org/stable/c/fd8bfaeba4a85b14427899adec0efb3954300653