CVE-2024-45027: usb: xhci: Check for xhci->interrupters being allocated in xhci_mem_clearup()
In the Linux kernel, the following vulnerability has been resolved:
usb: xhci: Check for xhci->interrupters being allocated in xhcimemclearup()
If xhcimeminit() fails, it calls into xhcimemcleanup() to mop up the damage. If it fails early enough, before xhci->interrupters is allocated but after xhci->maxinterrupters has been set, which happens in most (all?) cases, things get uglier, as xhcimemcleanup() unconditionally derefences xhci->interrupters. With prejudice.
Gate the interrupt freeing loop with a check on xhci->interrupters being non-NULL.
Found while debugging a DMA allocation issue that led the XHCI driver on this exact path.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-45027?
CVE-2024-45027 has been rated as a medium severity vulnerability in the Linux kernel.
How do I fix CVE-2024-45027?
To fix CVE-2024-45027, upgrade to a patched version of the Linux kernel, such as 5.10.223-1, 6.1.123-1, or newer versions.
Which versions of the Linux kernel are affected by CVE-2024-45027?
CVE-2024-45027 affects Linux kernel versions from 6.8 to 6.10.7 and specific release candidates of version 6.11.
What component of the Linux kernel is involved in CVE-2024-45027?
CVE-2024-45027 involves the USB xHCI driver component within the Linux kernel.
Is CVE-2024-45027 a remote or local vulnerability?
CVE-2024-45027 is classified as a local privilege escalation vulnerability that may be exploited by a malicious user with local access.