CVE-2026-89928

HIGHPre-NVD 8.88.8—
EchelonGraph scoreHIGH confidence

Score 8.8 from GitHub Security Advisory (severity: HIGH) published 2026-09-16. A secondary CVSS source baseline 8.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 3 sources updated this week
8.8EG
EchelonGraph verdictPlan mitigationSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.2%CVSS: 8.8Exploit: None knownExposed services: Not assessed

No fix is confirmed yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for the fix.

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

KVM: x86/mmu: Consume the locked rmap value in the lockless rmap walk

__kvm_rmap_lock() deliberately elides the rmap lock when it observes an empty rmap. In that case kvm_rmap_lock_readonly() also re-enables preemption and returns zero, so the caller holds neither the rmap lock nor a preemption reference. The elision documents the invariant it relies on:

* Elide the lock if the rmap is empty, as lockless walkers (read-only * mode) don't need to (and can't) walk an empty rmap, nor can they add * entries to the rmap. I.e. the only paths that process empty rmaps * do so while holding mmu_lock for write, and are mutually exclusive.

kvm_rmap_age_gfn_range() ignores the returned value and unconditionally enters for_each_rmap_spte_lockless(). The iterator started with rmap_get_first(), which re-reads rmap_head->val rather than using the value returned by the lock. If a writer populates the rmap between the lock's read and the iterator's re-read, the aging path walks the newly installed rmap without holding its lock.

For a KVM_RMAP_MANY rmap this leaves the walker following a pte_list_desc chain that it never locked. A writer holding mmu_lock for write may free that chain (e.g. kvm_zap_all_rmap_sptes() on the recycle path, or any rmap zap) via kmem_cache_free() while the walk is in progress, giving a slab use-after-free. Nothing serialises the two: the aging path runs without mmu_lock when CONFIG_KVM_MMU_LOCKLESS_AGING=y, and the rmap lock that would otherwise exclude the writer was elided. Because the empty path re-enables preemption, the interval between the two reads can span an arbitrary scheduling delay.

Fix the class of bug by having the lockless walk consume the value returned by the lock instead of re-reading the rmap. Split rmap_get_first() into __rmap_get_first(), which starts an iterator from an already-read rmap value, and make for_each_rmap_spte_lockless() take that value and call __rmap_get_first() directly. kvm_rmap_age_gfn_range() passes the value returned by kvm_rmap_lock_readonly(): when the lock was elided the value is zero, __rmap_get_first() returns NULL, and the walk is skipped. No lockless walker re-reads the rmap, so the lock-elision invariant cannot be violated, and no lock()-without-paired-unlock() path is added to the aging code.

CVSS v3
8.8
EG Score
8.8HIGHhigh confidence
EG Risk
44
EG Risk 44/100CISA SSVC

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
Severity88% × 45%
Exploitation0% × 40%
Automatability30% × 15%
CISA SSVC: Track at low or medium mission impact; Track or Attend at high (mission-essential systems).
Action: No fix is confirmed yet. Restrict network exposure of the affected system or apply the vendor's mitigation within your standard update timelines at low or medium mission impact and sooner than that at high, and watch the vendor's advisory for the fix.
EPSS PROB
0.2%
EPSS %ILE
5th
KEV
Not listed

CISA SSVCTrack at low or medium mission impact; Track or Attend at high (mission-essential systems).

No fix is confirmed yet. Restrict network exposure of the affected system or apply the vendor's mitigation within your standard update timelines at low or medium mission impact and sooner than that at high, and watch the vendor's advisory for the fix.

Exploitation none (no KEV listing, exploit record or EPSS ≥ 50%) · Automatable unknown (not published for this CVE) · Technical impact partial (CVSS below 9.0). Mission impact is CISA's Mission & Well-being decision point, and only you can judge it: high means the affected system is essential to your organisation's mission, or its compromise could cause irreversible harm to people. CISA's decision table

Published

September 16, 2026

Last Modified

September 16, 2026

Advisory Details (3)

Auto-updated Sep 16, 2026
No patch confirmed yet.
generic

KVM: x86/mmu: Consume the locked rmap value in the lockless rmap walk - kernel/git/stable/linux.git - Linux kernel stable tree

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

KVM: x86/mmu: Consume the locked rmap value in the lockless rmap walk - kernel/git/stable/linux.git - Linux kernel stable tree

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

KVM: x86/mmu: Consume the locked rmap value in the lockless rmap walk - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/41debfc98526c0a95c41a62435aca0a70340a26d

Vendor Advisories for CVE-2026-89928(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(1 across 1 ecosystem)
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 7.2~rc7-1~exp1 (178 versions)
  • every version up to 7.2.6-1: fixed in 7.2.6-1
—

Data Freshness Timeline

(refreshed 25× in last 7d / 78× 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.

  1. 2026-10-04 23:32 UTCEG score recompute
  2. 2026-10-04 23:32 UTCGHSA enrichment
  3. 2026-10-04 23:22 UTCEPSS rescore
  4. 2026-10-04 11:43 UTCGHSA enrichment
  5. 2026-10-03 23:54 UTCEG score recompute
  6. 2026-10-03 23:54 UTCGHSA enrichment
  7. 2026-10-03 12:04 UTCGHSA enrichment
  8. 2026-10-03 00:15 UTCEG score recompute
  9. 2026-10-03 00:15 UTCGHSA enrichment
  10. 2026-10-02 12:26 UTCGHSA enrichment
  11. 2026-10-02 00:16 UTCEG score recompute
  12. 2026-10-02 00:16 UTCGHSA enrichment
  13. 2026-10-01 19:51 UTCEPSS rescore
  14. 2026-10-01 12:27 UTCGHSA enrichment
  15. 2026-10-01 00:39 UTCEG score recompute
  16. 2026-10-01 00:39 UTCGHSA enrichment
  17. 2026-09-30 15:04 UTCEPSS rescore
  18. 2026-09-30 12:44 UTCGHSA enrichment
  19. 2026-09-30 00:54 UTCEG score recompute
  20. 2026-09-30 00:54 UTCGHSA enrichment
  21. 2026-09-29 10:47 UTCGHSA enrichment
  22. 2026-09-28 22:59 UTCEG score recompute
  23. 2026-09-28 22:58 UTCGHSA enrichment
  24. 2026-09-28 13:52 UTCEPSS rescore
  25. 2026-09-28 13:52 UTCEPSS rescore
Show 53 more
  1. 2026-09-28 11:09 UTCGHSA enrichment
  2. 2026-09-27 23:20 UTCEG score recompute
  3. 2026-09-27 23:20 UTCGHSA enrichment
  4. 2026-09-27 13:49 UTCEPSS rescore
  5. 2026-09-27 11:31 UTCGHSA enrichment
  6. 2026-09-26 23:34 UTCEG score recompute
  7. 2026-09-26 23:34 UTCGHSA enrichment
  8. 2026-09-26 15:59 UTCEPSS rescore
  9. 2026-09-26 11:45 UTCEG score recompute
  10. 2026-09-26 11:45 UTCGHSA enrichment
  11. 2026-09-25 23:56 UTCGHSA enrichment
  12. 2026-09-25 12:07 UTCGHSA enrichment
  13. 2026-09-25 00:18 UTCEG score recompute
  14. 2026-09-25 00:18 UTCGHSA enrichment
  15. 2026-09-24 14:04 UTCEPSS rescore
  16. 2026-09-24 12:29 UTCGHSA enrichment
  17. 2026-09-24 00:40 UTCEG score recompute
  18. 2026-09-24 00:40 UTCGHSA enrichment
  19. 2026-09-23 17:54 UTCEPSS rescore
  20. 2026-09-23 12:51 UTCGHSA enrichment
  21. 2026-09-23 01:02 UTCEG score recompute
  22. 2026-09-23 01:02 UTCGHSA enrichment
  23. 2026-09-22 16:01 UTCEPSS rescore
  24. 2026-09-22 13:12 UTCGHSA enrichment
  25. 2026-09-22 01:23 UTCEG score recompute
  26. 2026-09-22 01:23 UTCGHSA enrichment
  27. 2026-09-21 21:09 UTCEPSS rescore
  28. 2026-09-21 13:34 UTCGHSA enrichment
  29. 2026-09-21 01:45 UTCEG score recompute
  30. 2026-09-21 01:45 UTCGHSA enrichment
  31. 2026-09-20 20:16 UTCEPSS rescore
  32. 2026-09-20 13:56 UTCGHSA enrichment
  33. 2026-09-20 02:07 UTCEG score recompute
  34. 2026-09-20 02:07 UTCGHSA enrichment
  35. 2026-09-19 14:18 UTCGHSA enrichment
  36. 2026-09-19 02:29 UTCEG score recompute
  37. 2026-09-19 02:29 UTCGHSA enrichment
  38. 2026-09-18 19:28 UTCEPSS rescore
  39. 2026-09-18 14:39 UTCGHSA enrichment
  40. 2026-09-18 02:50 UTCEG score recompute
  41. 2026-09-18 02:50 UTCGHSA enrichment
  42. 2026-09-17 19:32 UTCEPSS rescore
  43. 2026-09-17 15:01 UTCGHSA enrichment
  44. 2026-09-17 03:12 UTCEG score recompute
  45. 2026-09-17 03:12 UTCGHSA enrichment
  46. 2026-09-16 15:23 UTCEG score recompute
  47. 2026-09-16 15:23 UTCGHSA enrichment
  48. 2026-09-16 14:48 UTCEG score recompute▲ 8.80
  49. 2026-09-16 14:48 UTCGHSA enrichment
  50. 2026-09-16 14:45 UTCMITRE cvelistV5CVSS v3 → 8.8 · severity → HIGH
  51. 2026-09-16 11:21 UTCNVD update
  52. 2026-09-16 10:38 UTCEG score recompute
  53. 2026-09-16 10:36 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-89928?
CVE-2026-89928 is a high vulnerability published on September 16, 2026. In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Consume the locked rmap value in the lockless rmap walk kvmrmaplock() deliberately elides the rmap lock when it observes an empty rmap. In that case kvmrmaplock_readonly() also re-enables preemption and returns zero,…
When was CVE-2026-89928 disclosed?
CVE-2026-89928 was first published on September 16, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-89928 actively exploited?
CVE-2026-89928 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.2% probability of exploitation in the next 30 days (5th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-89928?
CVE-2026-89928 has a CVSS base score of 8.8 (a secondary CVSS source that NVD displays; NVD's own analysis pending).
How do I remediate CVE-2026-89928?
No fix for CVE-2026-89928 is confirmed yet. Until one is published, restrict network exposure of the affected system or apply the vendor's mitigation — for example, keep it off the internet or limit it to trusted networks — and watch the vendor's advisory for the fix. The vendor advisories EchelonGraph has for CVE-2026-89928 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-89928

Explore →

Is Your Infrastructure Affected by CVE-2026-89928?

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