Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Local low-priv trigger (AV:L/PR:L); needs an induced read failure plus readahead race so AC:H; refcount underflow yields kernel BUG/crash (A:H) and possible page UAF (I:L), no disclosure (C:N).
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
6DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
f2fs: only redirty pinned folios in redirty_blocks
redirty_blocks() pins folios with read_cache_folio() and then walks the same range again with filemap_lock_folio() to redirty them and drop the references it took.
Commit 5951fee46bef ("f2fs: Use a folio in redirty_blocks()") changed the second pass to a do/while loop. If read_cache_folio() fails before anything is pinned, page_idx does not advance but the cleanup loop still runs once.
If readahead has already populated the failed folio in page cache, that extra iteration finds it and folio_put_refs(folio, 2) drops one reference too many. Later drop_caches or reclaim can then report "BUG: Bad page state".
Only redirty the range that was pinned successfully.
AnalysisAI
A folio reference-count imbalance in the Linux kernel's f2fs filesystem lets a local user who can drive the redirty_blocks() path over-decrement a pinned folio when read_cache_folio() fails before any folio is pinned and readahead has already cached that same folio, after which drop_caches or reclaim can emit "BUG: Bad page state" and corrupt kernel memory state. Only kernels that include the folio-conversion commit 5951fee46bef are affected, i.e. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Requires local access to a system mounting an f2fs filesystem (kernel 6.16 through the fixed 6.18.51/7.2.5/7.3-rc1) and the ability to invoke the redirty_blocks() path. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | This is a memory-management refcount bug in the Linux f2fs filesystem's redirty_blocks() error path, not an information-disclosure issue as the input tag claims. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Apply the vendor fix by upgrading to Linux 6.18.51, 7.2.5 or 7.3-rc1, or by cherry-picking the stable backports 445e4a1e6025ecd5312e9a95c1b234192c976ca1, 89c65ec3c18903de763cf567c96ab3ef60e5f3b0 and 85171332742e741ccd6f401c69b6e0d698119e72 from git.kernel.org (see also https://nvd.nist.gov/vuln/detail/CVE-2026-89841); vendor-released patches exist, so no long-term workaround should be necessary. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, inventory all Linux endpoints, servers and container hosts running kernel 6.16 or later, determine which mount f2fs and therefore carry commit 5951fee46bef, and confirm whether low-privileged local users or container workloads can reach the redirty_blocks() path; begin change control for the vendor fix. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-80441
GHSA-9c6f-r39g-mhg4