CVE-2026-68388: smb/client: handle overlapping allocated ranges in fallocate
In the Linux kernel, the following vulnerability has been resolved:
smb/client: handle overlapping allocated ranges in fallocate
smb3simplefallocaterange() 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.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Linux kernel (smb/client)to a version that resolves this vulnerability.Patch smb/client: handle overlapping allocated ranges in fallocate - Configuration
Update smb3_simple_fallocate_range() to handle overlapping allocated ranges in fallocate by skipping holes only over the portion of the allocated range that overlaps the current fallocate request offset, rather than advancing over a server range length that ends outside the current fallocate request.
smb3_simple_fallocate_range() fallocate hole/allocated-range handling = skip holes only when allocated ranges overlap current fallocate offset; avoid adding full server range length for hole calculations; query allocated ranges and preserve existing contents
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68388?
CVE-2026-68388 has a risk rating of 27, indicating a moderate severity level for this vulnerability.
How do I fix CVE-2026-68388?
To fix CVE-2026-68388, update the Linux kernel to the latest version where this vulnerability has been resolved.
What systems are affected by CVE-2026-68388?
CVE-2026-68388 primarily affects Linux systems using the SMB client functionality.
What happens if CVE-2026-68388 is exploited?
Exploitation of CVE-2026-68388 may lead to unfilled holes in allocated file ranges, potentially causing data corruption.
Is there a known exploit for CVE-2026-68388?
As of now, there are no publicly known exploits specifically targeting CVE-2026-68388.