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

smb/client: flush dirty data before punching a hole

Punching a hole after a large buffered write may leave the range
reported as data. Reproduce it with:

xfs_io -f \
-c "pwrite -b 3m -S 0x61 0 3m" \
-c "fpunch 1m 1m" \
-c "seek -h 0" \
-c "seek -d 1m" \
/mnt/test/repro

Punching 1 MiB at offset 1 MiB should produce:

0 1 MiB 2 MiB 3 MiB
| DATA | HOLE | DATA | EOF

Instead, the entire file is reported as data. SEEK_HOLE(0) returns EOF,
and SEEK_DATA(1M) returns 1M.

This happens because a dirty folio spanning the punched range can be
written back after the punch and refill the hole.

Fix this by flushing and waiting for dirty data in the punched range
before invalidating the page cache and issuing FSCTL_SET_ZERO_DATA.

The xfstests generic/539 pass against Samba/ksmbd with this change.
Published: 2026-09-24
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information Exposure
Action: Patch
AI Analysis

Impact

In the Linux kernel’s SMB client module, a flaw allows a hole punch operation to be followed by a write‑back of dirty pages that span the punched range. When a large buffered write precedes the hole punch, the kernel may flush dirty data after the hole is created, refilling the hole with data. This results in file system queries such as SEEK_HOLE and SEEK_DATA reporting the entire file as containing data, instead of recognising a hole. As a consequence, data that was intended to be erased remains present and can be read by user‑space programs, leading to unintentional information exposure and a data‑integrity issue.

Affected Systems

All Linux kernel releases before the fix in commit 39562a56cdb515f6635c3e7bfe6629439b18a169 are affected. The vulnerability resides in the SMB client’s handling of punched holes, so any system running those kernel versions—including most mainstream distributions—may be impacted. The fix is incorporated at the kernel level, so updating to a kernel build containing the mentioned commit protects all affected users.

Risk and Exploitability

The advisory lists a CVSS score of 5.5 and an EPSS score of less than 1 %, indicating a moderate severity but very low exploitation probability. The scenario requires the attacker to perform a large buffered write followed by a punch‑hole operation on a file they can access, which generally implies local or privileged file access rather than a remote attack vector. No known public exploits exist and the vulnerability is not included in CISA’s KEV catalog, further suggesting that exploitation risk is low in the wild.

Generated by OpenCVE AI on October 1, 2026 at 20:07 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the kernel to a release that includes the commit 39562a56cdb515f6635c3e7bfe6629439b18a169, which flushes dirty data before punching holes.
  • If you maintain custom or out‑of‑tree kernel builds, rebuild the kernel with the patch applied, ensuring the updated commits are incorporated.
  • After applying the fix, run the xfstests generic/539 scenario or replicate the example command from the advisory to verify that hole punching no longer reports data where a hole should exist.

Generated by OpenCVE AI on October 1, 2026 at 20:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Sat, 03 Oct 2026 11:15:00 +0000


Thu, 01 Oct 2026 18:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-820
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Fri, 25 Sep 2026 07:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: smb/client: flush dirty data before punching a hole Punching a hole after a large buffered write may leave the range reported as data. Reproduce it with: xfs_io -f \ -c "pwrite -b 3m -S 0x61 0 3m" \ -c "fpunch 1m 1m" \ -c "seek -h 0" \ -c "seek -d 1m" \ /mnt/test/repro Punching 1 MiB at offset 1 MiB should produce: 0 1 MiB 2 MiB 3 MiB | DATA | HOLE | DATA | EOF Instead, the entire file is reported as data. SEEK_HOLE(0) returns EOF, and SEEK_DATA(1M) returns 1M. This happens because a dirty folio spanning the punched range can be written back after the punch and refill the hole. Fix this by flushing and waiting for dirty data in the punched range before invalidating the page cache and issuing FSCTL_SET_ZERO_DATA. The xfstests generic/539 pass against Samba/ksmbd with this change.
Title smb/client: flush dirty data before punching a hole
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-03T10:57:29.204Z

Reserved: 2026-09-18T17:59:28.789Z

Link: CVE-2026-93794

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:12.160

Modified: 2026-10-03T11:17:49.000

Link: CVE-2026-93794

cve-icon Redhat

Severity : Low

Publid Date: 2026-09-24T00:00:00Z

Links: CVE-2026-93794 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T20:15:12Z

Weaknesses