CVE-2026-68388

smb/client: handle overlapping allocated ranges in fallocate

State
Published
Severity
9.8 Critical
Published
Aug 10, 2026
Updated
Oct 19, 2026
Reserved
Jul 30, 2026

Read the record on cve.org

Description

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):

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

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.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • c406bb9ece6ef63721daab106f132ff4b4234e81 to before aeb58a4eb39a7ff4d7782b4f4ada0fda5e0675d2Affected
  • 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to before 01719883235507b1585e4c51e320d9a7113dc698Affected
  • 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to before f47c7277c03a636fcc3a57969f2dc09567b3c050Affected
  • 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to before 437637f5ff3f573b2edf8571de91fb00a21eb4e6Affected
  • 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to before 377fe3e583e46369ee1004d5cfe12271d6589a68Affected
  • 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to before 7e08ab7a061b17ac1989a225c6afb53f44a86808Affected
  • 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to before a4a09e5142835633fffbde68bd0a039ba4d4bf97Affected
  • 966a3cb7c7db786452a87afdc3b48858fc4d4d6b to before b09ae45d85dc816987a71db9eebc54b0ae288e94Affected
  • 2f9f4a2d0e6fcf0673ed51195e06e47abe966900Affected
  • 5e397c943424de94879830e72c95f2679e297a76Affected
  • 5.10.50 to before 5.10.265Affected
  • 5.12.17 to before 5.13Affected
  • 5.13.2 to before 5.14Affected
LinuxLinux
  • 5.14Affected
  • before 5.14Not affected
  • 5.10.265 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.148 through 6.6.*Not affected
  • 6.12.101 through 6.12.*Not affected
  • 6.18.42 through 6.18.*Not affected
  • 7.1.6 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.