Skip to main content

Linux Kernel CVE-2026-64064

| EUVDEUVD-2026-45637 MEDIUM
2026-07-19 Linux GHSA-gxmr-cf3v-qq46
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
vuln.today AI
5.5 MEDIUM

Local low-privilege attacker triggers deterministic kernel crash with no C/I impact; conditions are specific but fully deterministic once met, supporting AC:L.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

6
Metadata Corrected
Sep 03, 2026 - 18:40 vuln.today
tag: Information Disclosure replaced by Denial Of Service
Analysis Generated
Sep 03, 2026 - 17:54 vuln.today
CVSS changed
Sep 03, 2026 - 15:37 NVD
5.5 (MEDIUM)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:39 nvd
MEDIUM 5.5
CVE Published
Jul 19, 2026 - 15:39 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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

netfs: Fix netfs_invalidate_folio() to clear dirty bit if all changes gone

If a streaming write is made, this will leave the relevant modified folio in a not-uptodate, but dirty state with a netfs_folio struct hung off of folio->private indicating the dirty range. Subsequently truncating the file such that the dirty data in the folio is removed, but the first part of the folio theoretically remains will cause the netfs_folio struct to be discarded... but will leave the dirty flag set.

If the folio is then read via mmap(), netfs_read_folio() will see that the page is dirty and jump to netfs_read_gaps() to fill in the missing bits. netfs_read_gaps(), however, expects there to be a netfs_folio struct present and can oops because truncate removed it.

Fix this by calling folio_cancel_dirty() in netfs_invalidate_folio() in the event that all the dirty data in the folio is erased (as nfs does).

Also add some tracepoints to log modifications to a dirty page.

This can be reproduced with something like:

dd if=/dev/zero of=/xfstest.test/foo bs=1M count=1 umount /xfstest.test mount /xfstest.test xfs_io -c "w 0xbbbf 0xf96c" \ -c "truncate 0xbbbf" \ -c "mmap -r 0xb000 0x11000" \ -c "mr 0xb000 0x11000" \ /xfstest.test/foo

with fscaching disabled (otherwise streaming writes are suppressed) and a change to netfs_perform_write() to disallow streaming writes if the fd is open O_RDWR:

if (//(file->f_mode & FMODE_READ) || <--- comment this out netfs_is_cache_enabled(ctx)) {

It should be reproducible even without this change, but if prevents the above trivial xfs_io command from reproducing it.

Note that the initial dd is important: the file must start out sufficiently large that the zero-point logic doesn't just clear the gaps because it knows there's nothing in the file to read yet. Unmounting and mounting is needed to clear the pagecache (there are other ways to do that that may also work).

This was initially reproduced with the generic/522 xfstest on some patches that remove the FMODE_READ restriction.

AnalysisAI

Kernel crash via NULL pointer dereference in the Linux netfs layer is triggered by a local low-privileged user combining a streaming write, file truncation, and mmap read on the same netfs-backed file. Affected kernel versions span from 6.8 (commit 9ebff83e) through stable branches prior to 6.12.92, 6.18.34, 7.0.11, and 7.1. No public exploit code exists and EPSS is 0.17%, indicating very low observed exploitation probability; however, a precise reproduction recipe is embedded in the upstream fix commit, substantially lowering the knowledge barrier for any attacker already holding local access.

Technical ContextAI

The vulnerability resides in netfs_invalidate_folio() within the Linux kernel's network filesystem (netfs) abstraction layer, which underpins NFS, AFS, Ceph, and related network-backed filesystems. Streaming writes leave a folio in a dirty-but-not-uptodate state, with a dynamically allocated netfs_folio struct attached to folio->private to track the dirty byte range. When the file is subsequently truncated such that the dirty region is removed, netfs_invalidate_folio() frees the netfs_folio struct but neglects to clear the folio's dirty flag. A later mmap-triggered read through netfs_read_folio() detects the stale dirty flag and dispatches to netfs_read_gaps(), which unconditionally dereferences folio->private as a netfs_folio pointer - producing a NULL pointer dereference and kernel oops. The fix calls folio_cancel_dirty() to clear the dirty flag when all dirty data is erased, mirroring established NFS behavior. CPE cpe:2.3:a:linux:linux covers the upstream kernel tree. CWE is formally unassigned, but the root cause is best classified as CWE-476 (NULL Pointer Dereference) arising from a stale dirty-flag condition after struct teardown.

RemediationAI

Apply vendor-released patches by upgrading to Linux kernel 6.12.92, 6.18.34, 7.0.11, or 7.1 as appropriate for your stable branch. The four upstream fix commits are available at https://git.kernel.org/stable/c/31ba145faceb378fa01afcb8349e15ea7d95e542, https://git.kernel.org/stable/c/fb6ec883b48b8789e5e690dcd440d2db941e840c, https://git.kernel.org/stable/c/65ae8717abf36202fef02260b64b781d2d44a9bf, and https://git.kernel.org/stable/c/156ac2ec2ee77c44c4eb7439d6d165247ba12247. Ubuntu users should apply the updates referenced in USN-8593-1. As a compensating control, enabling fscaching suppresses streaming writes and prevents the vulnerable code path from being reached; however, fscaching adds caching complexity and should not substitute for patching. Restricting untrusted local users from write access to netfs-backed mounts (NFS, AFS, Ceph) also eliminates the attack surface, at the cost of reducing filesystem accessibility.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-64064 vulnerability details – vuln.today

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