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

f2fs: fix to zero post-EOF data when extending file size

generic/794 4s ... - output mismatch (see /share/git/fstests/results//generic/794.out.bad)
--- tests/generic/794.out 2026-06-12 08:46:32.766426241 +0800
+++ /share/git/fstests/results//generic/794.out.bad 2026-07-05 18:32:55.000000000 +0800
@@ -1,4 +1,16 @@
QA output created by 794
append_write
+FAIL: non-zero data in gap [4080,4096) after shutdown+remount
+000000 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a >ZZZZZZZZZZZZZZZZ<
+*
+001000
truncate_up
...
(Run 'diff -u /share/git/fstests/tests/generic/794.out /share/git/fstests/results//generic/794.out.bad' to see the entire diff)
Ran: generic/794
Failures: generic/794
Failed 1 of 1 tests

Steps of generic/794:
1. write 4096 bytes to file w/ 0x5a
2. use fiemap to get PBA of first block in file
3. truncate file to 4080
4. umount; write 4096 bytes to file w/ 0x5a directly via PBA; mount
5. extend filesize via
a) append 4096 from offset 4096, or
b) truncate 8192, or
c) fallocate 4096 from offset 4096
6. verify the gap is zeroed in memory [4080,4096)
7. sync range 4096 from offset 4096; shutdown -f (flush meta before shutdown)
8. umount; mount; verify [4080,4096) is zeroed or not.

When extending file size (e.g. via truncate, fallocate, or write) across an
unaligned EOF boundary, we need to ensure that post-EOF data in the partial
page is zeroed out in pagecache and marked dirty, then writeback the cache to
persist zeroed data before committing inode w/ updated i_size.

This help to prevent stale disk data beyond the previous EOF from being exposed
after remounting or crash recovery.

Since f2fs is a LFS filesystem, we only support direct write via PBA in pinfile,
and pinfile has section-aligned filesize, so in Android, there should no problem,
but for other usage in different environment, let's fix this w/ fsync_mode=strict
mount option.
Published: 2026-09-24
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Apply Patch
AI Analysis

Impact

The vulnerability stems from f2fs failing to zero out data that lies beyond the end of a file when the size of the file is increased. Because the partial maximum–sized page is not cleared, stale data that previously resided on the disk can be accessed after a remount or a system crash. This flaw allows a local attacker to read data that should have been unrecoverable, thereby exposing sensitive information that may include past file contents or other secrets stored on the same storage block. The weakness is essentially a failure to properly initialize memory and corresponds to conditions such as those described in CWE‑657.

Affected Systems

All Linux systems that mount or use the f2fs file system are affected. The vulnerability applies to every kernel that has not yet incorporated the patch referenced in the Git commit logs and that may run with f2fs, including but not limited to embedded environments such as Android. No specific kernel version range is provided, so any release using the unpatched f2fs code is potentially vulnerable.

Risk and Exploitability

The CVSS score is not listed, and the EPSS score is unavailable, but the issue is not included in CISA’s KEV catalog. Consequently, the likelihood of exploitation in the wild is low; however, the vulnerability can be leveraged by an adversary with sufficient local privileges to trigger file system operations such as remounting, truncating, or writing to the device. The typical attack path would involve manipulating a file that resides on an f2fs volume, then causing the file to be extended across an unaligned EOF boundary, thereby exposing the residual data to the attacker. The patch ensures that the post‑EOF region is zeroed in page‑cache, marked dirty, and written back before the inode size is updated, which removes the information disclosure risk if applied in a timely manner.

Generated by OpenCVE AI on September 25, 2026 at 11:12 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that contains the f2fs patch referenced in the Git commit logs and reboot the system so the new kernel code is active.
  • If an immediate kernel upgrade is not possible, remount the affected f2fs volume with the mount option ``fsync_mode=strict`` to force the file system to zero out gaps when extending files.
  • Apply a manual patch or rebuild the kernel with the specific f2fs changes from the commits shown in the references if the distribution’s package system does not provide an update.

Generated by OpenCVE AI on September 25, 2026 at 11:12 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

Fri, 25 Sep 2026 11:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-657

Thu, 24 Sep 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to zero post-EOF data when extending file size generic/794 4s ... - output mismatch (see /share/git/fstests/results//generic/794.out.bad) --- tests/generic/794.out 2026-06-12 08:46:32.766426241 +0800 +++ /share/git/fstests/results//generic/794.out.bad 2026-07-05 18:32:55.000000000 +0800 @@ -1,4 +1,16 @@ QA output created by 794 append_write +FAIL: non-zero data in gap [4080,4096) after shutdown+remount +000000 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a >ZZZZZZZZZZZZZZZZ< +* +001000 truncate_up ... (Run 'diff -u /share/git/fstests/tests/generic/794.out /share/git/fstests/results//generic/794.out.bad' to see the entire diff) Ran: generic/794 Failures: generic/794 Failed 1 of 1 tests Steps of generic/794: 1. write 4096 bytes to file w/ 0x5a 2. use fiemap to get PBA of first block in file 3. truncate file to 4080 4. umount; write 4096 bytes to file w/ 0x5a directly via PBA; mount 5. extend filesize via a) append 4096 from offset 4096, or b) truncate 8192, or c) fallocate 4096 from offset 4096 6. verify the gap is zeroed in memory [4080,4096) 7. sync range 4096 from offset 4096; shutdown -f (flush meta before shutdown) 8. umount; mount; verify [4080,4096) is zeroed or not. When extending file size (e.g. via truncate, fallocate, or write) across an unaligned EOF boundary, we need to ensure that post-EOF data in the partial page is zeroed out in pagecache and marked dirty, then writeback the cache to persist zeroed data before committing inode w/ updated i_size. This help to prevent stale disk data beyond the previous EOF from being exposed after remounting or crash recovery. Since f2fs is a LFS filesystem, we only support direct write via PBA in pinfile, and pinfile has section-aligned filesize, so in Android, there should no problem, but for other usage in different environment, let's fix this w/ fsync_mode=strict mount option.
Title f2fs: fix to zero post-EOF data when extending file size
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-09-25T12:42:38.125Z

Reserved: 2026-09-17T16:02:15.095Z

Link: CVE-2026-93235

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T16:17:19.150

Modified: 2026-09-25T13:17:17.770

Link: CVE-2026-93235

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T11:15:05Z

Weaknesses
  • CWE-657

    Violation of Secure Design Principles