Skip to main content

Linux Kernel EUVDEUVD-2026-45636

| CVE-2026-64063 HIGH
Out-of-bounds Write (CWE-787)
2026-07-19 Linux GHSA-wrvh-vvr5-j82j
7.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Attacker fully controls the write sequence; CIFS mount requirement is an environmental prerequisite already present in typical deployments, not an uncontrollable condition, so AC:L is retained.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
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
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Sep 02, 2026 - 21:25 vuln.today
CVSS changed
Sep 02, 2026 - 21:22 NVD
7.8 (HIGH)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:39 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 15:39 nvd
HIGH 7.8

DescriptionNVD

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

netfs: Fix streaming write being overwritten

In order to avoid reading whilst writing, netfslib will allow "streaming writes" in which dirty data is stored directly into folios without reading them first. Such folios are marked dirty but may not be marked uptodate. If a folio is entirely written by a streaming write, uptodate will be set, otherwise it will have a netfs_folio struct attached to ->private recording the dirty region.

In the event that a partially written streaming write page is to be overwritten entirely by a single write(), netfs_perform_write() will try to copy over it, but doesn't discard the netfs_folio if it succeeds; further, it doesn't correctly handle a partial copy that overwrites some of the dirty data.

Fix this by the following:

(1) If the folio is successfully overwritten, free the netfs_folio struct before marking the page uptodate.

(2) If the copy to the folio partially fails, but short of the dirty data, just ignore the copy.

(3) If the copy partially fails and overwrites some of the dirty data, accept the copy, update the netfs_folio struct to record the new data. If the folio is now filled, free the netfs_folio and set uptodate, otherwise return a partial write.

Found with:

fsx -q -N 1000000 -p 10000 -o 128000 -l 600000 \ /xfstest.test/junk --replay-ops=junk.fsxops

using the following as junk.fsxops:

truncate 0x0 0 0x927c0 write 0x63fb8 0x53c8 0 copy_range 0xb704 0x19b9 0x24429 0x79380 write 0x2402b 0x144a2 0x90660 * write 0x204d5 0x140a0 0x927c0 * copy_range 0x1f72c 0x137d0 0x7a906 0x927c0 * read 0x00000 0x20000 0x9157c read 0x20000 0x20000 0x9157c read 0x40000 0x20000 0x9157c read 0x60000 0x20000 0x9157c read 0x7e1a0 0xcfb9 0x9157c

on cifs with the default cache option.

It shows folio 0x24 misbehaving if the FMODE_READ check is commented out in netfs_perform_write():

if (//(file->f_mode & FMODE_READ) || netfs_is_cache_enabled(ctx)) {

and no fscache. This was initially found with the generic/522 xfstest.

AnalysisAI

Memory corruption in the Linux kernel netfs subsystem allows local authenticated users to corrupt kernel heap state via a crafted sequence of streaming write operations on network-backed filesystems, potentially enabling local privilege escalation to root. The bug resides in netfs_perform_write(): when a subsequent write fully overwrites a partially-dirty streaming-write folio, the netfs_folio struct that tracks the dirty byte region is neither freed nor correctly updated, leaving stale or inconsistent metadata that drives out-of-bounds writes (CWE-787) during later writeback processing. Patched versions are available across all active stable branches (6.12.92, 7.0.11, 7.1, 6.18.34); no public exploit or active exploitation has been identified at time of analysis.

Technical ContextAI

The Linux kernel's netfslib subsystem implements 'streaming writes' - a write-without-read optimization that stores dirty data directly into page-cache folios without pre-fetching their contents. For partially-dirty folios, netfslib attaches a heap-allocated netfs_folio struct to the folio's private pointer to record the exact dirty byte range. CWE-787 (out-of-bounds write) manifests in netfs_perform_write() across three failure modes: (1) a successful full overwrite of a partially-dirty folio does not free the attached netfs_folio, leaving a dangling/stale struct; (2) a partial copy that stays short of the recorded dirty region is mishandled; and (3) a partial copy that encroaches on the dirty region updates neither the folio's uptodate state nor the netfs_folio's range bookkeeping correctly. The resulting stale kernel metadata can drive incorrect memory operations during writeback. The confirming reproducer uses CIFS (SMB) with default caching and the fsx filesystem exerciser, demonstrating the bug on folio 0x24 when FMODE_READ gating is removed in netfs_perform_write(). The bug was introduced at commit 8f52de0077ba3bf41e5d53d67a185700f41efce7. Affected CPE: cpe:2.3:a:linux:linux from that ancestry through the fix commits.

RemediationAI

Upgrade to a patched Linux kernel: 6.12.92 or later for the 6.12 LTS branch, 7.0.11 or later for the 7.0 stable branch, 7.1 for mainline, or 6.18.34 for the 6.18 stable branch. Ubuntu users should apply USN-8593-1 via the standard security update channel (https://ubuntu.com/security/notices/USN-8593-1). For other distributions, check vendor security channels for backported fixes. If patching is not immediately possible, restrict or disable unprivileged access to CIFS/SMB-mounted network filesystems, since the confirmed reproducer requires write access to a netfs-backed mount with caching enabled. Mounting CIFS shares with the 'cache=none' option disables the caching path that enables streaming writes, reducing exposure at the cost of increased network I/O for read-before-write operations. This is a compensating control only - the netfs write path is not exclusively gated on fscache presence, and the full mitigation is a kernel upgrade.

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

EUVD-2026-45636 vulnerability details – vuln.today

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