CVE-2026-23375: mm: thp: deny THP for files on anonymous inodes
In the Linux kernel, the following vulnerability has been resolved:
mm: thp: deny THP for files on anonymous inodes
file_thp_enabled() incorrectly allows THP for files on anonymous inodes
(e.g. guest_memfd and secretmem). These files are created via
alloc_file_pseudo(), which does not call get_write_access() and leaves
inode->i_writecount at 0. Combined with S_ISREG(inode->i_mode) being
true, they appear as read-only regular files when
CONFIG_READ_ONLY_THP_FOR_FS is enabled, making them eligible for THP
collapse.
Anonymous inodes can never pass the inode_is_open_for_write() check
since their i_writecount is never incremented through the normal VFS
open path. The right thing to do is to exclude them from THP eligibility
altogether, since CONFIG_READ_ONLY_THP_FOR_FS was designed for real
filesystem files (e.g. shared libraries), not for pseudo-filesystem
inodes.
For guest_memfd, this allows khugepaged and MADV_COLLAPSE to create
large folios in the page cache via the collapse path, but the
guest_memfd fault handler does not support large folios. This triggers
WARN_ON_ONCE(folio_test_large(folio)) in kvm_gmem_fault_user_mapping().
For secretmem, collapse_file() tries to copy page contents through the
direct map, but secretmem pages are removed from the direct map. This
can result in a kernel crash:
BUG: unable to handle page fault for address: ffff88810284d000
RIP: 0010:memcpy_orig+0x16/0x130
Call Trace:
collapse_file
hpage_collapse_scan_file
madvise_collapse
Secretmem is not affected by the crash on upstream as the memory failure
recovery handles the failed copy gracefully, but it still triggers
confusing false memory failure reports:
Memory failure: 0x106d96f: recovery action for clean unevictable
LRU page: Recovered
Check IS_ANON_FILE(inode) in file_thp_enabled() to deny THP for all
anonymous inode files.
Security readout for executives and security teams
Plain-English summary
This Linux kernel flaw can let normal memory optimization paths mishandle special anonymous inode files. In some configurations, that can cause warnings, false memory-failure reports, or a kernel crash. The issue appears configuration- and feature-dependent, not a broadly confirmed internet-facing exposure.
Executive priority
Treat this as a targeted kernel stability risk, especially for virtualization or sensitive-memory workloads. It should be patched through normal kernel maintenance, with higher priority where affected features are in use. Current sources do not justify emergency response for all Linux assets.
Technical view
file_thp_enabled() incorrectly permits THP collapse for anonymous inode files when CONFIG_READ_ONLY_THP_FOR_FS is enabled. guest_memfd can receive unsupported large folios, triggering a KVM warning. secretmem collapse can copy through the direct map although pages are removed from it, with crash behavior described in the CVE text.
Likely exposure
Exposure is most relevant to Linux systems using affected kernel versions with CONFIG_READ_ONLY_THP_FOR_FS enabled and workloads involving guest_memfd or secretmem. The bundle lists Linux affected versions including 6.8, 6.12.78, 6.18.17, 6.19.7, and 7.0, but exact distro impact needs vendor confirmation.
Exploitation context
The source bundle does not report active exploitation, and KEV status is false. The described impact comes from THP collapse behavior through khugepaged or MADV_COLLAPSE, but the bundle does not provide evidence of weaponized exploitation or privilege escalation.
Researcher notes
The fix direction is explicit: deny THP for IS_ANON_FILE(inode) inside file_thp_enabled(). Evidence supports availability and diagnostic-noise impacts, but not active exploitation, privilege escalation, or remote reachability. Upstream notes secretmem crash behavior differs because recovery handles the failed copy gracefully.
Mitigation direction
Apply Linux vendor kernel updates that include the referenced stable fixes.
Prioritize hosts running KVM workloads using guest_memfd or secretmem-sensitive workloads.
Check vendor advisories for exact affected distro kernels and backport status.
Do not assume a runtime workaround unless documented by the kernel or distro vendor.
Validation and detection
Inventory kernel versions and compare against vendor advisories for CVE-2026-23375.
Check whether CONFIG_READ_ONLY_THP_FOR_FS is enabled on relevant kernels.
Identify systems using KVM guest_memfd or secretmem features.
Review kernel logs for WARN_ON_ONCE, collapse_file, or memory failure messages matching the CVE description.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23375 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
5Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Mar 25, 2026, 10:27 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.