CVE-2026-98684
Received
Received - Intake
Heap Overflow in Linux Kernel SMB Client
Vulnerability report for CVE-2026-98684, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.
Publication date: 2026-10-18
Last updated on: 2026-10-18
Assigner: kernel.org
Description
Description
In the Linux kernel, the following vulnerability has been resolved:
smb: client: flush and commit data before querying allocated ranges
The mode 0 / FALLOC_FL_KEEP_SIZE fallocate emulation for small interior
ranges in smb3_simple_fallocate_range() issues
FSCTL_QUERY_ALLOCATED_RANGES and zero-fills any sub-range the server
reports as an unallocated hole, to force block allocation without
changing file contents.
This is unsafe against Windows servers. Per the Win32 documentation,
FSCTL_QUERY_ALLOCATED_RANGES only reports ranges that *may* contain
nonzero data and is explicitly not coherent with recently written data:
"a call to FSCTL_QUERY_ALLOCATED_RANGES [after writing to a network
file] would not necessarily return a correct list of allocated
regions. To ensure coherency [...] flush the data to the file"
fsx (generic/363) reproduces the resulting corruption against Windows
Server 2022: a range is written, an uncached read returns the data, yet
the next FSCTL_QUERY_ALLOCATED_RANGES on that range reports it as a whole
hole, so the emulation overwrites live data with zeroes. A network trace
confirmed the WRITE, the READ returning data and the query returning an
empty range list within microseconds. Samba does not exhibit this; its
query is coherent with the written data.
Write back the dirty pages, drain any outstanding I/O and issue an SMB2
FLUSH to force the server to commit the data before querying the
allocated ranges, so the query reflects the data actually present.
With this, generic/363 passes against both Windows Server 2022 and Samba
over 100000 fsx operations.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| Linux | Linux | 966a3cb7c7db786452a87afdc3b48858fc4d4d6b |
| Linux | Linux | 966a3cb7c7db786452a87afdc3b48858fc4d4d6b |
| Linux | Linux | 966a3cb7c7db786452a87afdc3b48858fc4d4d6b |
| Linux | Linux | c406bb9ece6ef63721daab106f132ff4b4234e81 |
| Linux | Linux | 2f9f4a2d0e6fcf0673ed51195e06e47abe966900 |
| Linux | Linux | 5e397c943424de94879830e72c95f2679e297a76 |
| Linux | Linux | 5.10.50 |
| Linux | Linux | 5.12.17 |
| Linux | Linux | 5.13.2 |
| Linux | Linux | 5.14 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |