CVE-2026-89777

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 — 4 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:

vfio/pci: clear vdev->msi_perm after freeing it on init failure

vfio_msi_cap_len() lazily allocates the per-device MSI permission table:

vdev->msi_perm = kmalloc_obj(struct perm_bits, GFP_KERNEL_ACCOUNT); if (!vdev->msi_perm) return -ENOMEM;

ret = init_pci_cap_msi_perm(vdev->msi_perm, len, flags); if (ret) { kfree(vdev->msi_perm); return ret; /* vdev->msi_perm left dangling */ }

When init_pci_cap_msi_perm() -> alloc_perm_bits() fails with -ENOMEM, the error path frees vdev->msi_perm but leaves the freed pointer stored in it. vdev->msi_perm is not re-zeroed later because struct vfio_pci_core_device is per-device and persists across open/close cycles, and the vfio_config_init() error path returns without calling vfio_config_free(). So the dangling pointer outlives the failed open.

That leads to two use-after-frees on the same device:

  • Reuse. The next vfio_config_init() sees the stale pointer at
"if (vdev->msi_perm) return len;" and reuses the freed object. MSI config accesses in vfio_pci_config_rw_single() then dereference and call the freed perm->readfn / perm->writefn function pointers.
  • Double free. A later vfio_config_free() runs free_perm_bits() and
kfree() on the already-freed object.

Fix it by NULLing vdev->msi_perm after the kfree(), matching the NULL-after-free discipline already used in free_perm_bits() and vfio_config_free().

BUG: KASAN: slab-use-after-free in vfio_pci_config_rw_single (drivers/vfio/pci/vfio_pci_config.c:1961) Read of size 8 at addr ffff88800fcc88d0 by task exploit/143 Call Trace: ... kasan_report (mm/kasan/report.c:595) vfio_pci_config_rw_single (drivers/vfio/pci/vfio_pci_config.c:1961) vfio_pci_config_rw (drivers/vfio/pci/vfio_pci_config.c:1986) vfio_pci_rw (drivers/vfio/pci/vfio_pci_core.c:1599) vfs_read (fs/read_write.c:572) __x64_sys_pread64 (fs/read_write.c:764) do_syscall_64 (arch/x86/entry/syscall_64.c:94) ...

Followed on device close by a double free of the same object:

Oops: general protection fault, probably for non-canonical address 0x1f63e0e8000008: 0000 [#1] SMP KASAN NOPTI RIP: 0010:kfree (mm/slub.c:6711) Call Trace: vfio_config_free (drivers/vfio/pci/vfio_pci_config.c:1861) vfio_pci_core_disable (drivers/vfio/pci/vfio_pci_core.c:685) vfio_pci_core_close_device (drivers/vfio/pci/vfio_pci_core.c:777) vfio_df_close (drivers/vfio/vfio_main.c:602) vfio_device_fops_release (drivers/vfio/vfio_main.c:648) __fput (fs/file_table.c:512) __x64_sys_close (fs/open.c:1496) do_syscall_64 (arch/x86/entry/syscall_64.c:94) ... Kernel panic - not syncing: Fatal exception

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 (8)

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

vfio/pci: clear vdev->msi_perm after freeing it on init failure - kernel/git/stable/linux.git - Linux kernel stable tree

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

vfio/pci: clear vdev->msi_perm after freeing it on init failure - kernel/git/stable/linux.git - Linux kernel stable tree

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

vfio/pci: clear vdev->msi_perm after freeing it on init failure - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/533d0c5feef85ee6404b9f41d5564fac6971a008
generic

vfio/pci: clear vdev->msi_perm after freeing it on init failure - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/812f1db7f0755a19ef16ecdc5cec51bcabc5eda5
generic

vfio/pci: clear vdev->msi_perm after freeing it on init failure - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/25cdd2a492d868cff1e519a60fe282909c52d385
generic

vfio/pci: clear vdev->msi_perm after freeing it on init failure - kernel/git/stable/linux.git - Linux kernel stable tree

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

vfio/pci: clear vdev->msi_perm after freeing it on init failure - kernel/git/stable/linux.git - Linux kernel stable tree

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

vfio/pci: clear vdev->msi_perm after freeing it on init failure - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/eb84cd81040e58dd05ac190f561f2115e3367249

Vendor Advisories for CVE-2026-89777(2)

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

Affected Packages

(4 across 3 ecosystems)
Debian:12(2)
PackageVulnerable rangeFix by version rangeDependents
linux6.1.106-1 ... 7.2~rc7-1~exp1 (360 versions)
  • every version on: no fix on record
—
linux-6.126.12.100-1~deb12u1, 6.12.101-1~deb12u1, 6.12.107-1~deb12u1
  • every version up to 6.12.111-1~deb12u1: fixed in 6.12.111-1~deb12u1
—
Debian:13(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 6.12.96-1 (35 versions)
  • every version up to 6.12.111-1: fixed in 6.12.111-1
—
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 7.2~rc7-1~exp1 (179 versions)
  • every version up to 7.2.6-1: fixed in 7.2.6-1
—

Data Freshness Timeline

(refreshed 42× in last 7d / 120× 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 120 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2026-89777?
CVE-2026-89777 is a high vulnerability published on September 16, 2026. In the Linux kernel, the following vulnerability has been resolved: vfio/pci: clear vdev->msi_perm after freeing it on init failure vfiomsicap_len() lazily allocates the per-device MSI permission table: vdev->msiperm = kmallocobj(struct permbits, GFPKERNEL_ACCOUNT); if (!vdev->msi_perm) return…
When was CVE-2026-89777 disclosed?
CVE-2026-89777 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-89777 actively exploited?
CVE-2026-89777 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-89777?
CVE-2026-89777 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-89777?
No fix for CVE-2026-89777 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-89777 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-89777

Explore →

Is Your Infrastructure Affected by CVE-2026-89777?

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