CVE-2024-45027

Summary

In the Linux kernel, the following vulnerability has been resolved:

usb: xhci: Check for xhci->interrupters being allocated in xhci_mem_clearup()

If xhci_mem_init() fails, it calls into xhci_mem_cleanup() to mop up the damage. If it fails early enough, before xhci->interrupters is allocated but after xhci->max_interrupters has been set, which happens in most (all?) cases, things get uglier, as xhci_mem_cleanup() 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

VendorProductVersion RangeStatus
LinuxLinuxbcd191d7bab25513daf7db78ab32eda60d9484c3 < 3efb29f6a78d4746f958c1ab6cd7981c5762f03baffected
LinuxLinuxc99b38c412343053e9af187e595793c8805bb9b8 < 770cacc75b0091ece17349195d72133912c1ca7caffected
LinuxLinuxc99b38c412343053e9af187e595793c8805bb9b8 < dcdb52d948f3a17ccd3fce757d9bd981d7c32039affected
LinuxLinux6.8affected
LinuxLinux0 < 6.8unaffected
LinuxLinux6.10.7 <= 6.10.*unaffected
LinuxLinux6.11 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References