← Back to CVE List
CVE-2026-90176NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: Do not skip lock checks for single-byte ranges
check_lock_range() uses inclusive ranges. Its callers pass the end
offset as start + length - 1, so start == end represents a valid
single-byte range rather than an empty range.
The start == end shortcut therefore skips mandatory byte-range lock
checks for one-byte reads, writes, copychunk operations and one-byte
truncate ranges. A conflicting lock covering that byte is not checked
and the operation is allowed to proceed.
Remove the shortcut. The truncate size == inode->i_size case is already
handled by only calling check_lock_range() when the new size differs
from the current file size.
ksmbd: Do not skip lock checks for single-byte ranges
check_lock_range() uses inclusive ranges. Its callers pass the end
offset as start + length - 1, so start == end represents a valid
single-byte range rather than an empty range.
The start == end shortcut therefore skips mandatory byte-range lock
checks for one-byte reads, writes, copychunk operations and one-byte
truncate ranges. A conflicting lock covering that byte is not checked
and the operation is allowed to proceed.
Remove the shortcut. The truncate size == inode->i_size case is already
handled by only calling check_lock_range() when the new size differs
from the current file size.
CVSS v3.1 Base Metrics — Score 8.1 (HIGH)
Attack VectorNetwork
Attack ComplexityLow
Privileges RequiredLow
User InteractionNone
ScopeUnchanged
ConfidentialityHigh
IntegrityHigh
AvailabilityNone
Affected & Patched Versions
- Linux Linux >= 52fcbb92e0d3acfd1448b2a43b6595d540da5295 and < a89cc145832e81c32199d4ca2e1ea8bd51ed601d
- Linux Linux >= da29cd197246c85c0473259f1cad897d9d28faea and < 993e0158331d37c04da18efe551b5e1e35fb3078
- Linux Linux >= a6f4cfa3783804336491e0edcb250c25f9b59d33 and < f751d6e39d4c937c45f8fedc66699aa7d2d52288
- Linux Linux >= 571204e4758a528fbd67330bd4b0dfbdafb33dd8 and < 84c2d8e807ac489f5c91769293fb15dfdae8bae8
- Linux Linux >= 5d510ac31626ed157d2182149559430350cf2104 and < 07a9e289ff7edcc004f58952405f8a65c4e37512
- Linux Linux >= 5d510ac31626ed157d2182149559430350cf2104 and < d40c24634fe077a0dc91fd11fccf44ce12b454d5
- Linux Linux >= 6.1.160 and < 6.1.188
- Linux Linux >= 6.6.120 and < 6.6.157
- Linux Linux >= 6.12.64 and < 6.12.110
- Linux Linux >= 6.18.3 and < 6.18.52
- Linux Linux >= 6.19
- Linux Linux a89cc145832e81c32199d4ca2e1ea8bd51ed601d
- Linux Linux 993e0158331d37c04da18efe551b5e1e35fb3078
- Linux Linux f751d6e39d4c937c45f8fedc66699aa7d2d52288
- Linux Linux 84c2d8e807ac489f5c91769293fb15dfdae8bae8
- Linux Linux 07a9e289ff7edcc004f58952405f8a65c4e37512
- Linux Linux d40c24634fe077a0dc91fd11fccf44ce12b454d5
- Linux Linux 6.1.188
- Linux Linux 6.6.157
- Linux Linux 6.12.110
- Linux Linux 6.18.52
External References
- https://git.kernel.org/stable/c/a89cc145832e81c32199d4ca2e1ea8bd51ed601d
- https://git.kernel.org/stable/c/993e0158331d37c04da18efe551b5e1e35fb3078
- https://git.kernel.org/stable/c/f751d6e39d4c937c45f8fedc66699aa7d2d52288
- https://git.kernel.org/stable/c/84c2d8e807ac489f5c91769293fb15dfdae8bae8
- https://git.kernel.org/stable/c/07a9e289ff7edcc004f58952405f8a65c4e37512
- https://git.kernel.org/stable/c/d40c24634fe077a0dc91fd11fccf44ce12b454d5