CVE-2024-36896: USB: core: Fix access violation during port device removal
In the Linux kernel, the following vulnerability has been resolved:
USB: core: Fix access violation during port device removal
Testing with KASAN and syzkaller revealed a bug in port.c:disable_store():
usb_hub_to_struct_hub() can return NULL if the hub that the port belongs to
is concurrently removed, but the function does not check for this
possibility before dereferencing the returned value.
It turns out that the first dereference is unnecessary, since hub->intfdev
is the parent of the port device, so it can be changed easily. Adding a
check for hub == NULL prevents further problems.
The same bug exists in the disable_show() routine, and it can be fixed the
same way.
Security readout for executives and security teams
Plain-English summary
CVE-2024-36896 is a Linux kernel USB bug where concurrent USB hub removal can leave code using a missing hub object. The public record rates it critical, but the description points to a race in USB port disable read/write handling, not a business-application flaw. Prioritize kernel patch verification on Linux systems that expose USB hardware or port-management paths.
Executive priority
Treat as high-priority kernel hygiene because the public severity is critical and impact includes integrity and availability. Urgency is strongest for Linux fleets with USB exposure or untrusted users. Active exploitation is not shown in the provided sources, so prioritize measured patch rollout over emergency assumptions.
Technical view
The bug is a NULL pointer dereference in USB core port.c disable_store() and disable_show(). usb_hub_to_struct_hub() can return NULL during concurrent hub removal, and the old code dereferenced it. Stable fixes remove an unnecessary dereference and add a NULL check. The source maps this to CWE-476 and CVSS 3.1 score 9.1.
Likely exposure
Linux systems running affected kernel versions are potentially exposed, especially where USB hubs/devices can be removed while port disable state is accessed. The source data lists Linux 6.0 through fixed stable lines including 6.1.91, 6.6.31, 6.8.10, and 6.9, but distro backports require vendor-specific checking.
Exploitation context
The bundle does not cite active exploitation, and KEV is false. The CVSS vector says network and unauthenticated, but the technical description centers on USB core device-removal concurrency. Treat internet exploitability as unproven from these sources and validate against kernel and vendor advisories.
Researcher notes
The public description supports a race-triggered NULL dereference in USB port disable paths. The CVSS vector appears broader than the technical narrative; do not assume remote exploitation without additional vendor evidence. Review the stable commits and downstream backports to identify exact fixed build provenance.
Mitigation direction
Update affected Linux kernels to builds containing the referenced stable fixes.
Check distribution advisories for backported CVE-2024-36896 fixes.
Prioritize hosts with physical or virtual USB device churn.
Restrict untrusted USB access where operationally feasible until patched.
Avoid relying only on upstream version strings for distro kernels.
Validation and detection
Inventory Linux kernel versions across servers, endpoints, and appliances.
Map installed kernels to vendor advisories for CVE-2024-36896.
Confirm patched builds include the referenced USB core commits or backports.
Review exposure on systems with accessible USB ports or passthrough.
Track remediation evidence in vulnerability management records.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.