CVE-2025-22000
NoneCVSS
—
EPSS
0.2%
Published
Apr 3, 2025
CISA due date
—
Cloudanix analysis
A Linux kernel bug can slowly waste memory when certain file operations occur, eventually making the computer unstable or forcing it to shut down processes.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw causes a memory leak in the Linux kernel huge memory code when an after-split folio must be dropped at EOF: folio_put_refs is called with the wrong count instead of folio_nr_pages(folio), leaving page-cache references and preventing the folio from being freed on filesystems whose block size exceeds page size.
Why it matters to the business
Over time the leak can exhaust kernel memory on any system performing truncate operations against large-block filesystems, producing performance degradation, OOM kills, or crashes; the issue affects 441 downstream dependents and all distributions shipping the vulnerable kernel.
How an attack unfolds
A local attacker mounts or uses a filesystem with blocksize > page_size, creates a file large enough to produce high-order folios, then repeatedly truncates it past EOF; each truncate triggers folio split and incorrect refcounting that leaks the folio.
How to fix it
Upgrade the kernel to a version containing commit 86368616a9ce51f6b41efa251b6e066893851d67 (or later stable backport) and reboot; for Red Hat Enterprise Linux 8 apply the redis module packages fixed in 0:6.0.9-3.module+el8.4.0+10984+ed187465 if those components are in use.
How to confirm the fix worked
Confirm the running kernel contains commit 86368616a9ce51f6b41efa251b6e066893851d67, then exercise truncate on a blocksize > page_size filesystem while monitoring /proc/meminfo or slabinfo for unreleased huge-page-cache objects.
Typical attack path
- Obtain local shell on a target system
- Create or mount a filesystem whose block size exceeds the page size
- Write a file that forces allocation of high-order folios
- Issue truncate operations that cross EOF boundaries
- Repeat to accumulate unreleased folios until memory pressure occurs
How to detect it
Review kernel slabinfo and meminfo before/after truncate workloads on large-block filesystems; look for steadily growing page-cache or hugepage entries that do not decrease after file deletion; correlate with dmesg entries mentioning folio or truncate.
What your security team should do
- Apply the fixed kernel immediately on all systems that use filesystems with blocksize larger than page size
- Prioritize patching hosts with high uptime or heavy file-system activity
- Add memory-usage alerts for page-cache and huge-page slabs until patches are deployed
The record
In the Linux kernel, the following vulnerability has been resolved: mm/huge_memory: drop beyond-EOF folios with the right number of refs When an after-split folio is large and needs to be dropped due to EOF, folio_put_refs(folio, folio_nr_pages(folio)) should be used to drop all page cache refs. Otherwise, the folio will not be freed, causing memory leak. This leak would happen on a filesystem with blocksize > page_size and a truncate is performed, where the blocksize makes folios split to >0 order ones, causing truncated folios not being freed.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:13 | linux | 0 | No fix |
| Linux | Kernel | 6.9.0 | 6.12.21 |
Related vulnerabilities
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39884 In the Linux kernel, the following vulnerability has been resolved: btrfs: fix subvolume… Also affects linux
- CVE-2025-39886 In the Linux kernel, the following vulnerability has been resolved: bpf: Tell memcg to… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39880 In the Linux kernel, the following vulnerability has been resolved: libceph: fix invalid… Also affects linux
- CVE-2025-39881 In the Linux kernel, the following vulnerability has been resolved: kernfs: Fix UAF in… Also affects linux
- CVE-2025-39882 In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: fix… Also affects linux