{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-80861 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-80861 is a vulnerability in Linux, published on 4 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-80861 and fix it if it is affected.\n\nWhat it is: CVE-2026-80861 is a vulnerability in Linux, published on 4 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-80861 in the wild and no public exploit code.\n\nAffected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-80861/ (Markdown: https://insights.sbomify.com/CVE-2026-80861/index.md)","id":"CVE-2026-80861","markdown":"https://insights.sbomify.com/CVE-2026-80861/index.md","name":"CVE-2026-80861","record":{"aliases":["AZL-99639","BELL-CVE-2026-80861","DEBIAN-CVE-2026-80861","GHSA-8wxp-3ggp-2gcw","UBUNTU-CVE-2026-80861"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel USB driver","requires_auth":"none","summary":"A kernel oops occurs when the xHCI USB controller is inaccessible, causing a denial of service on Linux systems with affected hardware.","user_interaction":"not_required","vuln_class":"null_dereference"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: xhci: bail out of setup if the controller is inaccessible\n\nxhci_gen_setup() locates the operational registers using the capability\nlength read from the very first register:\n\n\txhci-\u003eop_regs = hcd-\u003eregs +\n\t\tHC_LENGTH(readl(\u0026xhci-\u003ecap_regs-\u003ehc_capbase));\n\nIf the controller is dead or has dropped off the bus, that read returns\n~0, HC_LENGTH() truncates it to 0xff, and op_regs ends up 0xff bytes\npast the page-aligned MMIO base, i.e. unaligned. The first access\nthrough it, xhci_halt() -\u003e xhci_handshake() reading op_regs-\u003estatus, is\nthen an unaligned readl() on device memory. arm64 faults on unaligned\ndevice accesses, so instead of xhci_handshake() catching the all-ones\nvalue and returning -ENODEV, setup oopses:\n\n  xhci-pci-renesas 0005:08:00.0: Unable to change power state from D3cold to D0, device inaccessible\n  xhci-pci-renesas 0005:08:00.0: xHCI Host Controller\n  xhci-pci-renesas 0005:08:00.0: new USB bus registered, assigned bus number 1\n  Unable to handle kernel paging request at virtual address ffff80030a770103\n    ESR = 0x0000000096000021\n    FSC = 0x21: alignment fault\n  Internal error: Oops: 0000000096000021 [#1]  SMP\n  pc : xhci_halt [xhci_hcd]\n  Call trace:\n   xhci_halt\n   xhci_gen_setup\n   xhci_pci_setup\n   usb_add_hcd\n   usb_hcd_pci_probe\n   xhci_pci_common_probe\n   xhci_pci_renesas_probe\n\nThis was hit with a Renesas uPD720201 that failed to power up (\"Unable\nto change power state from D3cold to D0, device inaccessible\") yet still\nreached the HCD probe path.\n\nRead the capability register once, and if it reads back the all-ones\nvalue (as xhci_handshake() and xhci_reset() already test for), abort\nsetup with -ENODEV before op_regs is derived from it. Reading it once\nalso avoids re-reading a register that may change under a concurrent\nhot-removal.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"usb: xhci: bail out of setup if the controller is inaccessible","id":"CVE-2026-80861","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"null_dereference","year":"2026"},"n_packages":0,"n_references":6,"next":{"headline":"nvme-tcp: fix usage of page_frag_cache","id":"CVE-2026-80862"},"packages":[],"prev":{"headline":"fuse: fix race between interrupt and resend","id":"CVE-2026-80860"},"products":["Linux"],"published":"2026-09-04","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-10-19","vendors":["Linux"]},"summary":"A kernel oops occurs when the xHCI USB controller is inaccessible, causing a denial of service on Linux systems with affected hardware.","url":"https://insights.sbomify.com/CVE-2026-80861/"}