CVE-2024-57981 Details
Description
In the Linux kernel, the following vulnerability has been resolved: usb: xhci: Fix NULL pointer dereference on certain command aborts If a command is queued to the final usable TRB of a ring segment, the enqueue pointer is advanced to the subsequent link TRB and no further. If the command is later aborted, when the abort completion is handled the dequeue pointer is advanced to the first TRB of the next segment. If no further commands are queued, xhci_handle_stopped_cmd_ring() sees the ring pointers unequal and assumes that there is a pending command, so it calls xhci_mod_cmd_timer() which crashes if cur_cmd was NULL. Don't attempt timer setup if cur_cmd is NULL. The subsequent doorbell ring likely is unnecessary too, but it's harmless. Leave it alone. This is probably Bug 219532, but no confirmation has been received. The issue has been independently reproduced and confirmed fixed using a USB MCU programmed to NAK the Status stage of SET_ADDRESS forever. Everything continued working normally after several prevented crashes.
A NULL pointer dereference vulnerability has been identified in the Linux kernel's USB xHCI (eXtensible Host Controller Interface) component. This issue arises when a command is queued to the last usable Transfer Request Block (TRB) of a ring segment. The enqueue pointer is then moved to the next link TRB, and no further commands can be queued. If this command is later aborted, the handling of the abort completion advances the dequeue pointer to the first TRB of the following segment. If no additional commands are queued, the xhci_handle_stopped_cmd_ring() function detects an inequality in the ring pointers and assumes a command is still pending. This leads to a call to xhci_mod_cmd_timer(), which causes a crash if the current command pointer (cur_cmd) is NULL. The vulnerability has been independently reproduced and confirmed fixed using a USB microcontroller unit (MCU) programmed to indefinitely NAK (negative acknowledgment) the Status stage of the SET_ADDRESS command, preventing several crashes that would have otherwise occurred.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-476 | NULL Pointer Dereference | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 3.16, < 6.1.129 >= 6.2, < 6.6.76 >= 6.7, < 6.12.13 >= 6.13, < 6.13.2 |
CPE
Remediation
| |
Change History
7 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | siemens-SADP |
| Jun 17, 2026 | CVE Modified | kernel.org |
| May 12, 2026 | CVE Modified | siemens-SADP |
| Nov 3, 2025 | CVE Modified | CVE |
| Mar 13, 2025 | CVE Modified | kernel.org |
| Mar 7, 2025 | Initial Analysis | [email protected] |
| Feb 27, 2025 | New CVE Received | kernel.org |