Public vulnerability disclosure

CVE-2026-64465

usb: xhci: Fix sleep in atomic context in xhci_free_streams()

publishedCWE-667

In the Linux kernel, the following vulnerability has been resolved: usb: xhci: Fix sleep in atomic context in xhci_free_streams() When a USB device with active stream endpoints is disconnected, xhci_free_streams() is called from the hub_event workqueue to free the stream resources. It calls xhci_free_stream_info() while holding xhci->lock with irqs disabled. xhci_free_stream_info() invokes xhci_free_stream_ctx(), which calls dma_free_coherent() for large stream context arrays. dma_free_coherent() can sleep (e.g. via vunmap), triggering a BUG when called from atomic context. Call trace: dma_free_attrs+0x174/0x220 xhci_free_stream_info+0xd0/0x11c xhci_free_streams+0x278/0x37c usb_free_streams+0x98/0xc0 usb_unbind_interface+0x1b8/0x2f8 device_release_driver_internal+0x1d4/0x2cc device_release_driver+0x18/0x28 bus_remove_device+0x160/0x1a4 device_del+0x1ec/0x350 usb_disable_device+0x98/0x214 usb_disconnect+0xf0/0x35c hub_event+0xab4/0x19ec process_one_work+0x278/0x63c Fix this by saving the stream_info pointers and clearing the ep references under the lock, then calling xhci_free_stream_info() outside the lock where sleeping is allowed.

Technical severity5.5 mediumCVSS 3.1 · NVD: [email protected]
Published2026-07-25Source updated 2026-11-12
Collected2026-11-123 attributed sources

Fixes and workarounds

Fix

The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.

Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Fix

The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.

Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Fix

The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.

Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Fix

The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.

Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Fix

The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.

Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Fix

The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.

Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Fix

The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.

Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Fix

The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.

Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Affected products and versions

Affected products, source version ranges and reporting authorities
ProductVersionsAuthority
Linux
Linux
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < e623e4a203f56d5c57519a9a3cb29600551534ad (affected, git)
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < d107eb316144c5fb958486e7fe604cd7f1b35cda (affected, git)
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < 1e45aa722c4ce5663e987102aac18c8ad6a83fdd (affected, git)
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < 10666ac9c552990204e791af653abf8e9d9ff619 (affected, git)
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < f7b022ae07685e7526fc39f387ce65b5d309dd3b (affected, git)
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < f90586129cf9e1fbdb718ef602eea3f15dc1c31c (affected, git)
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < 93cd037da94fcb93183bfb2457e3a56d3eb4c8f4 (affected, git)
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < 42c37c4b75d38b51d84f31a8e29427f5e06a7c2a (affected, git)
Other versions: unaffected
CNA: Linux
Linux
Linux
2.6.35 (affected)
≥ 0; < 2.6.35 (unaffected, semver)
≥ 5.10.261; ≤ 5.10.* (unaffected, semver)
≥ 5.15.212; ≤ 5.15.* (unaffected, semver)
≥ 6.1.178; ≤ 6.1.* (unaffected, semver)
≥ 6.6.145; ≤ 6.6.* (unaffected, semver)
≥ 6.12.96; ≤ 6.12.* (unaffected, semver)
≥ 6.18.39; ≤ 6.18.* (unaffected, semver)
≥ 7.1.4; ≤ 7.1.* (unaffected, semver)
≥ 7.2; ≤ * (unaffected, original_commit_for_fix)
Other versions: affected
CNA: Linux

Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.

NVD applicability configurations (1)

These expressions retain AND/OR operators, negation, and required environmental products. A listed product is not sufficient to establish exposure when additional conditions apply.

[
  {
    "negate": false,
    "nodes": [
      {
        "cpeMatch": [
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "5.10.261",
            "versionStartIncluding": "2.6.35",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "5.15.212",
            "versionStartIncluding": "5.11",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.1.178",
            "versionStartIncluding": "5.16",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.6.145",
            "versionStartIncluding": "6.2",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.12.96",
            "versionStartIncluding": "6.7",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "6.18.39",
            "versionStartIncluding": "6.13",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "7.1.4",
            "versionStartIncluding": "6.19",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:7.2:rc1:*:*:*:*:*:*",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:o:linux:linux_kernel:7.2:rc2:*:*:*:*:*:*",
            "vulnerable": true
          }
        ],
        "negate": false,
        "operator": "OR"
      }
    ],
    "operator": "OR"
  }
]

CVSS assessments

CVSS scores, vectors and reporting authorities
Version / scoreVectorAuthority
3.1 / 5.5
medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD: [email protected]

Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

References

For agents and automation

Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.

Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.

Endpoints and access details

https://api.y2.dev/api/v2/cyber/cves
https://api.y2.dev/api/v2/cyber/cves/{cveId}

A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.

For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.

Agent access JSON · OpenAPI · CVE API guide