CVE-2025-22022

HIGHNVD 7.87.8
EchelonGraph scoreMEDIUM confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2025-04-16. NVD baseline CVSS 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
Trending — 4 sources updated this week
7.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 7.8Exploit: None knownExposed: 0

A fix is available — apply it.

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

usb: xhci: Apply the link chain quirk on NEC isoc endpoints

Two clearly different specimens of NEC uPD720200 (one with start/stop bug, one without) were seen to cause IOMMU faults after some Missed Service Errors. Faulting address is immediately after a transfer ring segment and patched dynamic debug messages revealed that the MSE was received when waiting for a TD near the end of that segment:

[ 1.041954] xhci_hcd: Miss service interval error for slot 1 ep 2 expected TD DMA ffa08fe0 [ 1.042120] xhci_hcd: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xffa09000 flags=0x0000] [ 1.042146] xhci_hcd: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xffa09040 flags=0x0000]

It gets even funnier if the next page is a ring segment accessible to the HC. Below, it reports MSE in segment at ff1e8000, plows through a zero-filled page at ff1e9000 and starts reporting events for TRBs in page at ff1ea000 every microframe, instead of jumping to seg ff1e6000.

[ 7.041671] xhci_hcd: Miss service interval error for slot 1 ep 2 expected TD DMA ff1e8fe0 [ 7.041999] xhci_hcd: Miss service interval error for slot 1 ep 2 expected TD DMA ff1e8fe0 [ 7.042011] xhci_hcd: WARN: buffer overrun event for slot 1 ep 2 on endpoint [ 7.042028] xhci_hcd: All TDs skipped for slot 1 ep 2. Clear skip flag. [ 7.042134] xhci_hcd: WARN: buffer overrun event for slot 1 ep 2 on endpoint [ 7.042138] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 31 [ 7.042144] xhci_hcd: Looking for event-dma 00000000ff1ea040 trb-start 00000000ff1e6820 trb-end 00000000ff1e6820 [ 7.042259] xhci_hcd: WARN: buffer overrun event for slot 1 ep 2 on endpoint [ 7.042262] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 31 [ 7.042266] xhci_hcd: Looking for event-dma 00000000ff1ea050 trb-start 00000000ff1e6820 trb-end 00000000ff1e6820

At some point completion events change from Isoch Buffer Overrun to Short Packet and the HC finally finds cycle bit mismatch in ff1ec000.

[ 7.098130] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 13 [ 7.098132] xhci_hcd: Looking for event-dma 00000000ff1ecc50 trb-start 00000000ff1e6820 trb-end 00000000ff1e6820 [ 7.098254] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 13 [ 7.098256] xhci_hcd: Looking for event-dma 00000000ff1ecc60 trb-start 00000000ff1e6820 trb-end 00000000ff1e6820 [ 7.098379] xhci_hcd: Overrun event on slot 1 ep 2

It's possible that data from the isochronous device were written to random buffers of pending TDs on other endpoints (either IN or OUT), other devices or even other HCs in the same IOMMU domain.

Lastly, an error from a different USB device on another HC. Was it caused by the above? I don't know, but it may have been. The disk was working without any other issues and generated PCIe traffic to starve the NEC of upstream BW and trigger those MSEs. The two HCs shared one x1 slot by means of a commercial "PCIe splitter" board.

[ 7.162604] usb 10-2: reset SuperSpeed USB device number 3 using xhci_hcd [ 7.178990] sd 9:0:0:0: [sdb] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=DRIVER_OK cmd_age=0s [ 7.179001] sd 9:0:0:0: [sdb] tag#0 CDB: opcode=0x28 28 00 04 02 ae 00 00 02 00 00 [ 7.179004] I/O error, dev sdb, sector 67284480 op 0x0:(READ) flags 0x80700 phys_seg 5 prio class 0

Fortunately, it appears that this ridiculous bug is avoided by setting the chain bit of Link TRBs on isochronous rings. Other ancient HCs are known which also expect the bit to be set and they ignore Link TRBs if it's not. Reportedly, 0.95 spec guaranteed that the bit is set.

The bandwidth-starved NEC HC running a 32KB/uframe UVC endpoint reports tens of MSEs per second and runs into the bug within seconds. Chaining Link TRBs allows the same workload to run for many minutes, many times.

No ne ---truncated---

CVSS v3
7.8
EG Score
7.8(medium)
EG Risk
40(Track)
EG Risk 40/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity78% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
9%
KEV
Not listed

Published

April 16, 2025

Last Modified

August 5, 2026

Advisory Details (8)

Auto-updated Jul 30, 2026
No patch confirmed yet.
generic

usb: xhci: Apply the link chain quirk on NEC isoc endpoints - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/dbf427663ce272070d3004b5fca63a4a537d781c
generic

usb: xhci: Apply the link chain quirk on NEC isoc endpoints - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/bb0ba4cb1065e87f9cc75db1fa454e56d0894d01
generic

usb: xhci: Apply the link chain quirk on NEC isoc endpoints - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/abf2df229b6a9172cc1827749c1a446d28e00a2e
generic

usb: xhci: Apply the link chain quirk on NEC isoc endpoints - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/a4931d9fb99eb5462f3eaa231999d279c40afb21
generic

usb: xhci: Apply the link chain quirk on NEC isoc endpoints - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/8b586de6f03c850ff48d42e539b4708d1f3f8f1a
generic

usb: xhci: Apply the link chain quirk on NEC isoc endpoints - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/43a18225150ce874d23b37761c302a5dffee1595
generic

usb: xhci: Apply the link chain quirk on NEC isoc endpoints - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/1143f790a6316201dc8f067eba4c94ea97ecb6ca
generic

usb: xhci: Apply the link chain quirk on NEC isoc endpoints - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/061a1683bae6ef56ab8fa392725ba7495515cd1d

Patch Availability(31)

Vendor / EcosystemFixed in / PatchReleasedSource
ubuntulinux-virtual-hwe-24.04-edge (6.14.0-22.22) @ plucky2026-05-30ubuntu
ubuntulinux-virtual-hwe-24.04-edge (6.11.0-28.28) @ oracular2026-05-30ubuntu
ubuntulinux-tools-azure (6.14.0-1007.7) @ plucky2026-05-30ubuntu
ubuntulinux-tools-oem-24.04b (6.11.0-1024.24) @ noble2026-05-30ubuntu
ubuntulinux-tools-oracle-64k (6.14.0-1007.7) @ plucky2026-05-30ubuntu
ubuntulinux-tools-lowlatency-64k (6.11.0-1015.16) @ oracular2026-05-30ubuntu
ubuntulinux-tools-nvidia-tegra-igx-rt-5.15 (5.15.0.1044.46) @ jammy2026-05-30ubuntu
ubuntulinux-tools-gcp-fips-5.15 (5.15.0.1103.93) @ jammy2026-05-30ubuntu
ubuntulinux-tools-gke-5.15 (5.15.0.1099.98) @ jammy2026-05-30ubuntu
ubuntulinux-tools-azure-6.11 (6.11.0-1018.18) @ oracular2026-05-30ubuntu
ubuntulinux-xilinx-zynqmp-tools-5.15.0-1067 (5.15.0-1067.71) @ jammy2026-05-30ubuntu
ubuntulinux-tools-azure-lts-22.04 (5.15.0.1109.107) @ jammy2026-05-30ubuntu
ubuntulinux-tools-raspi-nolpae (5.15.0.1097.95) @ jammy2026-05-30ubuntu
ubuntulinux-tools-intel-iot-realtime-5.15 (5.15.0.1094.98) @ jammy2026-05-30ubuntu
ubuntulinux-tools-realtime-5.15 (5.15.0.1102.106) @ jammy2026-05-30ubuntu
ubuntulinux-tools-azure-fips-5.15 (5.15.0.1109.94) @ jammy2026-05-30ubuntu
ubuntulinux-tools-gcp-fips-6.8 (6.8.0-1054.57+fips1) @ noble2026-05-30ubuntu
ubuntulinux-tools-realtime-6.8.1 (6.8.1-1047.48) @ noble2026-05-30ubuntu
ubuntulinux-tools-nvidia-64k-6.8 (6.8.0-1051.54) @ noble2026-05-30ubuntu
ubuntulinux-virtual-hwe-22.04-edge (6.8.0-110.110~22.04.1) @ jammy2026-05-30ubuntu
ubuntulinux-tools-oracle-lts-24.04 (6.8.0-1049.50) @ noble2026-05-30ubuntu
ubuntulinux-virtual-6.8 (6.8.0-110.110) @ noble2026-05-30ubuntu
ubuntulinux-xilinx-zynqmp (6.8.0.1029.30) @ noble2026-05-30ubuntu
ubuntulinux-tools-raspi-realtime-6.8 (6.8.0-2042.43) @ noble2026-05-30ubuntu
ubuntulinux-tools-azure-fips-6.8 (6.8.0-1054.60+fips1) @ noble2026-05-30ubuntu
ubuntulinux-tools-azure-edge (5.15.0.1110.119~20.04.1) @ focal2026-05-30ubuntu
ubuntulinux-tools-azure-lts-24.04 (6.8.0-1054.60) @ noble2026-05-30ubuntu
ubuntulinux-tools-nvidia-tegra-rt-6.8 (6.8.0-1022.22) @ noble2026-05-30ubuntu
ubuntulinux-tools-nvidia-lowlatency-64k-6.8 (6.8.0-1051.54.1) @ noble2026-05-30ubuntu
ubuntulinux-tools-gcp-edge (6.8.0-1054.57~22.04.1) @ jammy2026-05-30ubuntu
linuxKernel @ 5.10.248osv

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

All Vendor Advisories

(25)

Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.

Data Freshness Timeline

(refreshed 10× in last 7d / 46× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 113 total refreshes for this CVE.

  1. 2026-08-07 16:26 UTCEPSS rescore
  2. 2026-08-06 13:46 UTCEPSS rescore
  3. 2026-08-05 19:16 UTCEPSS rescore
  4. 2026-08-05 13:59 UTCEG score recompute
  5. 2026-08-05 13:59 UTCVendor advisory
  6. 2026-08-05 13:59 UTCGHSA enrichment
  7. 2026-08-04 15:09 UTCEPSS rescore
  8. 2026-08-04 10:37 UTCEPSS rescore
  9. 2026-08-03 10:35 UTCEPSS rescore
  10. 2026-08-02 02:25 UTCEPSS rescore
  11. 2026-08-01 04:15 UTCEPSS rescore
  12. 2026-07-30 16:27 UTCEPSS rescore
  13. 2026-07-30 07:15 UTCEG score recompute
  14. 2026-07-30 07:15 UTCVendor advisory
  15. 2026-07-30 07:15 UTCGHSA enrichment
  16. 2026-07-30 01:29 UTCEPSS rescore
  17. 2026-07-28 15:35 UTCEPSS rescore
  18. 2026-07-27 14:12 UTCEPSS rescore
  19. 2026-07-26 14:53 UTCEPSS rescore
  20. 2026-07-25 14:17 UTCEPSS rescore
  21. 2026-07-24 14:17 UTCEPSS rescore
  22. 2026-07-24 09:11 UTCOSV refresh
  23. 2026-07-23 14:17 UTCEPSS rescore
  24. 2026-07-23 02:50 UTCEG score recompute
  25. 2026-07-22 14:07 UTCEPSS rescore
Show 75 more
  1. 2026-07-22 14:07 UTCEPSS rescore
  2. 2026-07-21 15:24 UTCEPSS rescore
  3. 2026-07-20 17:07 UTCEPSS rescore
  4. 2026-07-19 14:30 UTCEPSS rescore
  5. 2026-07-19 14:30 UTCEPSS rescore
  6. 2026-07-19 02:28 UTCEPSS rescore
  7. 2026-07-19 02:28 UTCEPSS rescore
  8. 2026-07-18 10:03 UTCEPSS rescore
  9. 2026-07-16 17:02 UTCEPSS rescore
  10. 2026-07-15 16:57 UTCEPSS rescore
  11. 2026-07-15 16:57 UTCEPSS rescore
  12. 2026-07-15 01:59 UTCEPSS rescore
  13. 2026-07-13 22:29 UTCEPSS rescore
  14. 2026-07-13 22:29 UTCEPSS rescore
  15. 2026-07-13 06:12 UTCEPSS rescore
  16. 2026-07-13 06:12 UTCEPSS rescore
  17. 2026-07-12 05:46 UTCEPSS rescore
  18. 2026-07-12 05:46 UTCEPSS rescore
  19. 2026-07-11 08:27 UTCEPSS rescore
  20. 2026-07-11 08:26 UTCEPSS rescore
  21. 2026-07-09 19:09 UTCEPSS rescore
  22. 2026-07-08 15:14 UTCEPSS rescore
  23. 2026-07-07 13:45 UTCEPSS rescore
  24. 2026-07-07 04:21 UTCOSV refresh
  25. 2026-07-06 16:26 UTCEPSS rescore
  26. 2026-07-05 02:30 UTCEPSS rescore
  27. 2026-07-04 06:30 UTCEPSS rescore
  28. 2026-07-01 15:06 UTCEPSS rescore
  29. 2026-06-30 23:21 UTCEPSS rescore
  30. 2026-06-30 23:21 UTCEPSS rescore
  31. 2026-06-29 14:06 UTCEPSS rescore
  32. 2026-06-28 14:07 UTCEPSS rescore
  33. 2026-06-28 14:07 UTCEPSS rescore
  34. 2026-06-28 04:55 UTCEPSS rescore
  35. 2026-06-28 04:55 UTCEPSS rescore
  36. 2026-06-27 03:08 UTCEPSS rescore
  37. 2026-06-27 03:08 UTCEPSS rescore
  38. 2026-06-25 13:49 UTCEPSS rescore
  39. 2026-06-25 13:49 UTCEPSS rescore
  40. 2026-06-24 14:04 UTCEPSS rescore
  41. 2026-06-24 14:04 UTCEPSS rescore
  42. 2026-06-23 21:32 UTCEPSS rescore
  43. 2026-06-23 21:32 UTCEPSS rescore
  44. 2026-06-22 14:25 UTCEPSS rescore
  45. 2026-06-22 14:25 UTCEPSS rescore
  46. 2026-06-21 14:56 UTCEPSS rescore
  47. 2026-06-21 14:56 UTCEPSS rescore
  48. 2026-06-21 01:59 UTCEPSS rescore
  49. 2026-06-21 01:59 UTCEPSS rescore
  50. 2026-06-19 19:25 UTCEPSS rescore
  51. 2026-06-19 19:25 UTCEPSS rescore
  52. 2026-06-18 17:52 UTCEPSS rescore
  53. 2026-06-18 17:52 UTCEPSS rescore
  54. 2026-06-18 15:35 UTCOSV refresh
  55. 2026-06-17 17:52 UTCEPSS rescore
  56. 2026-06-16 17:52 UTCEPSS rescore
  57. 2026-06-16 17:52 UTCEPSS rescore
  58. 2026-06-15 17:48 UTCEPSS rescore
  59. 2026-06-14 23:17 UTCEPSS rescore
  60. 2026-06-13 22:59 UTCEPSS rescore
  61. 2026-06-12 23:11 UTCEPSS rescore
  62. 2026-06-11 13:59 UTCEPSS rescore
  63. 2026-06-10 22:18 UTCEPSS rescore
  64. 2026-06-10 13:22 UTCEPSS rescore
  65. 2026-06-08 14:16 UTCEPSS rescore
  66. 2026-06-08 14:16 UTCEPSS rescore
  67. 2026-06-07 15:24 UTCEPSS rescore
  68. 2026-06-07 15:24 UTCEPSS rescore
  69. 2026-06-06 13:47 UTCEPSS rescore
  70. 2026-06-06 13:47 UTCEPSS rescore
  71. 2026-06-05 22:46 UTCEPSS rescore
  72. 2026-06-05 22:46 UTCEPSS rescore
  73. 2026-06-05 06:10 UTCEPSS rescore
  74. 2026-06-05 06:10 UTCEPSS rescore
  75. 2026-06-04 13:11 UTCEPSS rescore

Frequently asked(5)

What is CVE-2025-22022?
CVE-2025-22022 is a high vulnerability published on April 16, 2025. In the Linux kernel, the following vulnerability has been resolved: usb: xhci: Apply the link chain quirk on NEC isoc endpoints Two clearly different specimens of NEC uPD720200 (one with start/stop bug, one without) were seen to cause IOMMU faults after some Missed Service Errors. Faulting address…
When was CVE-2025-22022 disclosed?
CVE-2025-22022 was first published in the National Vulnerability Database on April 16, 2025, with the most recent update on August 5, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-22022 actively exploited?
CVE-2025-22022 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 91.5% of all scored CVEs.
What is the CVSS score of CVE-2025-22022?
CVE-2025-22022 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2025-22022?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-22022, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2025-22022

Explore →

Is Your Infrastructure Affected by CVE-2025-22022?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.