Skip to main content

Linux CVE-2026-23375

| EUVDEUVD-2026-15365 MEDIUM
Reachable Assertion (CWE-617)
2026-03-25 Linux GHSA-9ghh-p583-m6m8
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
SUSE
5.2 MEDIUM
qualitative
Red Hat
7.0 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
CVSS changed
Apr 24, 2026 - 16:37 NVD
5.5 (MEDIUM)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
EUVD ID Assigned
Mar 25, 2026 - 10:45 euvd
EUVD-2026-15365
Analysis Generated
Mar 25, 2026 - 10:45 vuln.today
CVE Published
Mar 25, 2026 - 10:27 nvd
N/A

DescriptionCVE.org

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.

AnalysisAI

A vulnerability in the Linux kernel's Transparent Huge Pages (THP) subsystem incorrectly enables THP for files on anonymous inodes (such as guest_memfd and secretmem), which were not designed to support large folios. This can trigger kernel crashes via memory copy operations on unmapped memory in secretmem, or WARN_ON conditions in guest_memfd fault handlers. The vulnerability affects Linux kernel versions across multiple stable branches and requires a kernel patch to remediate; while not known to be actively exploited in the wild, the condition can be triggered locally by unprivileged users through madvise() syscalls.

Technical ContextAI

The Linux kernel memory management subsystem uses Transparent Huge Pages (THP) to optimize performance by collapsing regular pages into larger 2MB folios. The vulnerability exists in the file_thp_enabled() function, which determines THP eligibility for file-backed pages. Anonymous inodes created via alloc_file_pseudo() (including guest_memfd used by KVM and secretmem for sensitive data isolation) bypass normal VFS open accounting and leave inode->i_writecount at zero. When CONFIG_READ_ONLY_THP_FOR_FS is enabled, these inodes incorrectly appear as read-only regular files and pass THP eligibility checks. The root cause is improper trust boundary enforcement: the function fails to distinguish between real filesystem inodes (intended for THP via CONFIG_READ_ONLY_THP_FOR_FS) and pseudo-filesystem inodes that lack proper folio support. This affects Linux kernel versions tracked via CPE cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*. The CWE classification involves improper validation of special file types and resource initialization assumptions.

RemediationAI

Apply the kernel patch from the upstream Linux stable branches by upgrading to a patched kernel version released after the CVE publication. The fix involves modifying file_thp_enabled() to check IS_ANON_FILE(inode) and deny THP eligibility for anonymous inodes entirely. Users should obtain patches from their Linux distribution (Red Hat, Canonical, SUSE, etc.) security advisories or compile from upstream stable branches using the commit references provided. For systems unable to immediately patch, disable CONFIG_READ_ONLY_THP_FOR_FS at kernel compile time if not required, or restrict madvise(MADV_COLLAPSE) via seccomp/LSM policies. Monitor for WARN_ON_ONCE messages or memory failure reports in kernel logs as indicators of exploitation on unpatched systems. Prioritize patching for systems running KVM with guest_memfd or using secretmem for sensitive workloads.

Vendor StatusVendor

Debian

linux
Release Status Fixed Version Urgency
bullseye not-affected - -
bullseye (security) fixed 5.10.251-1 -
bookworm not-affected - -
bookworm (security) fixed 6.1.164-1 -
trixie vulnerable 6.12.73-1 -
trixie (security) vulnerable 6.12.74-2 -
forky, sid fixed 6.19.8-1 -
(unstable) fixed 6.19.8-1 -

SUSE

Severity: Medium
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

Share

CVE-2026-23375 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy