CVE-2026-68388 PUBLISHED

smb/client: handle overlapping allocated ranges in fallocate

Assigner: Linux
Reserved: 30.07.2026 Published: 10.08.2026 Updated: 10.08.2026

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

smb/client: handle overlapping allocated ranges in fallocate

smb3_simple_fallocate_range() can skip holes when an allocated range returned by the server starts before the current fallocate offset. The skipped hole is not zero-filled, but fallocate still returns success. A later write to that hole may therefore fail with ENOSPC.

The function queries allocated ranges so that it can preserve existing contents and write zeroes only into holes. However, the server may return a range that starts before the current fallocate offset.

For example, assume the fallocate request is [100, 400) and the only allocated range returned by the server is [0, 200):

<pre> Request: [100, 400) Server range: [ 0, 200) allocated Correct: [100, 200) allocated data, skip [200, 400) hole, zero-fill Current: [100, 300) skipped [300, 400) zero-filled afterwards </pre>

The current code adds the full server range length, 200, to the current offset 100 and moves to 300. As a result, the hole in [200, 300) is skipped without being zero-filled.

Fix this by advancing only over the part of the allocated range that overlaps the current fallocate offset. Ignore ranges that end before the current offset and reject ranges whose end offset overflows.

This also prevents a malformed range length from causing an out-of-bounds zero-buffer read.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to 437637f5ff3f573b2edf8571de91fb00a21eb4e6 (excl.)
  • affected from 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to 377fe3e583e46369ee1004d5cfe12271d6589a68 (excl.)
  • affected from 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to 7e08ab7a061b17ac1989a225c6afb53f44a86808 (excl.)
  • affected from 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to a4a09e5142835633fffbde68bd0a039ba4d4bf97 (excl.)
  • affected from 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to b09ae45d85dc816987a71db9eebc54b0ae288e94 (excl.)
  • Version c406bb9ece6ef63721daab106f132ff4b4234e81 is affected
  • Version 2f9f4a2d0e6fcf0673ed51195e06e47abe966900 is affected
  • Version 5e397c943424de94879830e72c95f2679e297a76 is affected
  • affected from 5.10.50 to 5.11 (excl.)
  • affected from 5.12.17 to 5.13 (excl.)
  • affected from 5.13.2 to 5.14 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.14 is affected
  • unaffected from 0 to 5.14 (excl.)
  • unaffected from 6.6.148 to 6.6.* (incl.)
  • unaffected from 6.12.101 to 6.12.* (incl.)
  • unaffected from 6.18.42 to 6.18.* (incl.)
  • unaffected from 7.1.6 to 7.1.* (incl.)
  • unaffected from 7.2-rc4 to * (incl.)

References