All vulnerabilities
CVE-2026-98124

Linux: smb/client: invalidate fscache for fallocate range operations

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.19%Chance of exploitation activity in the next 30 days, higher than 7% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in93c6e5a8d7c5071d586c1411596d5db5faad22b2Also 448ba0ae65ca61064183564d2983c9aa59bd6ba7CVE List
Published25 Sep 2026Updated 21 Oct 2026CVE List

What fixes it

  • 93c6e5a8d7c5071d586c1411596d5db5faad22b2LinuxCVE List
  • 448ba0ae65ca61064183564d2983c9aa59bd6ba7LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

smb/client: invalidate fscache for fallocate range operations

smb3_zero_range(), smb3_punch_hole(), smb3_insert_range(), and smb3_collapse_range() modify file contents through server-side range operations. These operations discard the affected page cache, but leave the FS-Cache cookie valid, so a later read may return data cached before the range operation.

Fix this by invalidating FS-Cache after outstanding I/O has completed and before modifying the file on the server.

Run the following as root on a CIFS mount with fsc enabled and an active CacheFiles backend:

bash -c ' MNT=/mnt/cifs FILE="$MNT/repro"

Generate four 1 MiB random blocks: [A][B][C][D].

dd if=/dev/urandom of=/tmp/src bs=1M count=4 status=none

Expected contents after zeroing B: [A][zero][C][D].

cp /tmp/src /tmp/expected dd if=/dev/zero of=/tmp/expected bs=1M seek=1 count=1 \ conv=notrunc status=none cp /tmp/src "$FILE"

Populate FS-Cache, then discard the page cache.

sync echo 1 > /proc/sys/vm/drop_caches cat "$FILE" > /dev/null sync echo 1 > /proc/sys/vm/drop_caches

fallocate --zero-range -o 1M -l 1M "$FILE"

if cmp -s /tmp/expected "$FILE"; then echo "readback: OK" else echo "readback: STALE DATA" fi '

Before this change, the readback differs from /tmp/expected:

readback: STALE DATA

After this change, it matches:

readback: OK

Text from CVE List

Affected versions 10

  • Linuxaffected: 31742c5a331766bc7df6b0d525df00c6cd20d5a6 before cc7202a51b8777a757bda9dcfbf339f828c6a130CVE List
  • Linuxaffected: 31742c5a331766bc7df6b0d525df00c6cd20d5a6 before dd8b1e808f5c19479e6ed47e2f88a1fd46f8b0e5CVE List
  • Linuxaffected: 31742c5a331766bc7df6b0d525df00c6cd20d5a6 before 93c6e5a8d7c5071d586c1411596d5db5faad22b2CVE List
  • Linuxaffected: 31742c5a331766bc7df6b0d525df00c6cd20d5a6 before 448ba0ae65ca61064183564d2983c9aa59bd6ba7CVE List
  • Linuxaffected: 3.17CVE List
  • Linuxunaffected: all versions before 3.17CVE List
  • Linuxunaffected: 6.6.160 through 6.6.*CVE List
  • Linuxunaffected: 6.12.114 through 6.12.*CVE List
  • Linuxunaffected: 7.2.7 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 4