CVE-2026-74591

CRITICALPre-NVD 9.89.8
EchelonGraph scoreHIGH confidence

Score 9.8 from GitHub Security Advisory (severity: CRITICAL) published 2026-08-22. a secondary CVSS source baseline 9.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 4 sources updated this week
9.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: 9.8Exploit: None knownExposed: 0

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

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

mm/filemap: __filemap_add_folio() restore index before retrying

In __filemap_add_folio()'s split-a-conflict loop, xas_set_order() is applied repeatedly: each application modifies xas.xa_index, rounding it down according to the split_order attempted at that stage: and if all goes as intended, it eventually (or immediately) converges on an xas_try_split() to the required folio_order, with xas.xa_index now the same as index: then xas_store() puts the new folio into the xarray there.

But if a new node was needed, and GFP_NOWAIT allocation did not get one, the lock is dropped, xas_nomem() used to allocate, and sequence retried. If (that part of) the xarray is unchanged when the lock is reacquired, no problem. But what if the conflict was meanwhile resolved by another thread (perhaps even doing the same thing, inserting a folio at that same index)? Isn't there a danger of now putting our folio into the xarray at an intermediate rounded-down index? With !folio_contains() bug to follow, when CONFIG_DEBUG_VM=y is checking for that.

Fix this with an xas_set_order() to restore the original xas.xa_index at the bottom of the loop, so the retry does a full re-evaluation after reacquiring the lock, and cannot reach xas_store() with the wrong index.

Production was suffering from rare SIGILLs and SIGSEGVs, executable text found a page away from where it belonged, !folio_contains() bug hit when debug enabled: symptoms not seen since this patch went in.

CVSS v3
9.8
EG Score
9.8(high)
EG Risk
49(Track)
EG Risk 49/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
Severity98% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
37%
KEV
Not listed

Published

August 22, 2026

Last Modified

August 25, 2026

Advisory Details (3)

Auto-updated Aug 25, 2026
No patch confirmed yet.
generic

mm/filemap: __filemap_add_folio() restore index before retrying - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/86da3f7e1e609e1e8bfbab198af68467c5a015a5
generic

mm/filemap: __filemap_add_folio() restore index before retrying - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/4917e3ebcab50f0265e8ca01c8567de4c4a47511
generic

mm/filemap: __filemap_add_folio() restore index before retrying - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/267ecd2eb7759c26f1a026eb0a5b231071534c9c

Vendor Advisories for CVE-2026-74591(1)

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

Data Freshness Timeline

(refreshed 46× in last 7d / 49× 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-08-30 05:37 UTCGHSA enrichment
  2. 2026-08-30 01:36 UTCEG score recompute
  3. 2026-08-30 01:36 UTCGHSA enrichment
  4. 2026-08-30 01:22 UTCEPSS rescore
  5. 2026-08-29 21:36 UTCGHSA enrichment
  6. 2026-08-29 17:36 UTCGHSA enrichment
  7. 2026-08-29 13:07 UTCGHSA enrichment
  8. 2026-08-29 09:04 UTCGHSA enrichment
  9. 2026-08-29 05:02 UTCGHSA enrichment
  10. 2026-08-29 00:59 UTCEG score recompute
  11. 2026-08-29 00:58 UTCGHSA enrichment
  12. 2026-08-28 21:42 UTCEPSS rescore
  13. 2026-08-28 19:26 UTCGHSA enrichment
  14. 2026-08-28 14:55 UTCGHSA enrichment
  15. 2026-08-28 10:49 UTCGHSA enrichment
  16. 2026-08-28 06:47 UTCGHSA enrichment
  17. 2026-08-28 02:41 UTCGHSA enrichment
  18. 2026-08-27 22:41 UTCGHSA enrichment
  19. 2026-08-27 18:42 UTCGHSA enrichment
  20. 2026-08-27 14:41 UTCEG score recompute
  21. 2026-08-27 14:41 UTCGHSA enrichment
  22. 2026-08-27 14:25 UTCEPSS rescore
  23. 2026-08-27 10:41 UTCGHSA enrichment
  24. 2026-08-27 06:41 UTCGHSA enrichment
  25. 2026-08-27 02:31 UTCGHSA enrichment
Show 24 more
  1. 2026-08-26 22:31 UTCGHSA enrichment
  2. 2026-08-26 18:31 UTCEG score recompute
  3. 2026-08-26 18:31 UTCGHSA enrichment
  4. 2026-08-26 14:47 UTCEPSS rescore
  5. 2026-08-26 14:31 UTCGHSA enrichment
  6. 2026-08-26 10:31 UTCGHSA enrichment
  7. 2026-08-26 06:30 UTCGHSA enrichment
  8. 2026-08-26 02:30 UTCGHSA enrichment
  9. 2026-08-25 22:30 UTCGHSA enrichment
  10. 2026-08-25 18:31 UTCGHSA enrichment
  11. 2026-08-25 14:30 UTCEG score recompute
  12. 2026-08-25 14:30 UTCGHSA enrichment
  13. 2026-08-25 13:49 UTCEPSS rescore
  14. 2026-08-25 10:30 UTCEG score recompute
  15. 2026-08-25 10:30 UTCGHSA enrichment
  16. 2026-08-25 06:30 UTCEG score recompute
  17. 2026-08-25 06:30 UTCGHSA enrichment
  18. 2026-08-25 05:45 UTCEG score recompute 9.80
  19. 2026-08-25 05:45 UTCGHSA enrichment
  20. 2026-08-25 05:45 UTCMITRE cvelistV5CVSS v3 → 9.8 · severity → CRITICAL
  21. 2026-08-24 14:18 UTCEPSS rescore
  22. 2026-08-22 16:24 UTCNVD update
  23. 2026-08-22 15:42 UTCEG score recompute
  24. 2026-08-22 15:35 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-74591?
CVE-2026-74591 is a critical vulnerability published on August 22, 2026. In the Linux kernel, the following vulnerability has been resolved: mm/filemap: filemapaddfolio() restore index before retrying In filemapaddfolio()'s split-a-conflict loop, xassetorder() is applied repeatedly: each application modifies xas.xa_index, rounding it down according to the split_order…
When was CVE-2026-74591 disclosed?
CVE-2026-74591 was first published in the National Vulnerability Database on August 22, 2026, with the most recent update on August 25, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-74591 actively exploited?
CVE-2026-74591 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 63.2% of all scored CVEs.
What is the CVSS score of CVE-2026-74591?
CVE-2026-74591 has a CVSS v3 base score of 9.8 (NVD).
How do I remediate CVE-2026-74591?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-74591, 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-2026-74591

Explore →

Is Your Infrastructure Affected by CVE-2026-74591?

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