All vulnerabilities
CVE-2026-98127

Linux: smb/client: validate new EOF for insert range

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

What fixes it

  • 7c2c69045aa76ccaa7f16f1478eb312130ce4951LinuxCVE List
  • 1519dc88c87f5346dae0464d7d6da1b6bf1f6e8eLinuxCVE 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: validate new EOF for insert range

smb3_insert_range() does not check if the new file size (i_size + len) is valid. This allows FALLOC_FL_INSERT_RANGE to bypass RLIMIT_FSIZE, exceed s_maxbytes, or produce a size outside the loff_t range.

Use check_add_overflow() to calculate the new EOF. Validate it with inode_newsize_ok() before modifying the file.

Reproducer, using a file on a CIFS mount:

bash -c ' FILE=/mnt/cifs/repro

trap "" SIGXFSZ ulimit -f 3072 # RLIMIT_FSIZE = 3 MiB

A regular write is stopped at 3 MiB.

dd if=/dev/zero of="$FILE" bs=1M count=4 status=none stat -c "size after write: %s" "$FILE"

Insert 2 MiB into a 2 MiB file.

truncate -s 2M "$FILE" fallocate -i -o 0 -l 2M "$FILE" stat -c "size after insert: %s" "$FILE" '

Before this change, the regular write stops at the 3 MiB limit, but insert range grows the file to 4 MiB:

dd: error writing '/mnt/cifs/repro': File too large size after write: 3145728 size after insert: 4194304

After this change, insert range also fails at the limit and leaves the 2 MiB file unchanged:

dd: error writing '/mnt/cifs/repro': File too large size after write: 3145728 fallocate: fallocate failed: File too large size after insert: 2097152

Text from CVE List

Affected versions 12

  • Linuxaffected: 7fe6fe95b936084dce6eedcc2cccadf96eafae73 before b7f2e33d9f5db7b8e6e5e0a5a93d0c5e31870356CVE List
  • Linuxaffected: 7fe6fe95b936084dce6eedcc2cccadf96eafae73 before 7c2c69045aa76ccaa7f16f1478eb312130ce4951CVE List
  • Linuxaffected: 7fe6fe95b936084dce6eedcc2cccadf96eafae73 before bc7602b9082ef195d913c4c16fa9853dd262333eCVE List
  • Linuxaffected: 7fe6fe95b936084dce6eedcc2cccadf96eafae73 before f8cbfe3a3fcee7d991fd223f660f3e5df13221cfCVE List
  • Linuxaffected: 7fe6fe95b936084dce6eedcc2cccadf96eafae73 before 1519dc88c87f5346dae0464d7d6da1b6bf1f6e8eCVE List
  • Linuxaffected: 5.13CVE List
  • Linuxunaffected: all versions before 5.13CVE List
  • Linuxunaffected: 6.6.160 through 6.6.*CVE List
  • Linuxunaffected: 6.12.111 through 6.12.*CVE List
  • Linuxunaffected: 6.18.53 through 6.18.*CVE List
  • Linuxunaffected: 7.2.7 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 5