Skip to main content
← All vulnerabilities
CVE-2026-90176

ksmbd: Do not skip lock checks for single-byte ranges

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.1.188, 6.6.157, 6.12.110, 6.18.52, 7.2.6
None on Exploit-DB, Metasploit or GitHub

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 52fcbb92e0d3acfd1448b2a43b6595d540da5295 · fixed in a89cc145832e81c32199d4ca2e1ea8bd51ed601d; From da29cd197246c85c0473259f1cad897d9d28faea · fixed in 993e0158331d37c04da18efe551b5e1e35fb3078; From a6f4cfa3783804336491e0edcb250c25f9b59d33 · fixed in f751d6e39d4c937c45f8fedc66699aa7d2d52288; From 571204e4758a528fbd67330bd4b0dfbdafb33dd8 · fixed in 84c2d8e807ac489f5c91769293fb15dfdae8bae8; From 5d510ac31626ed157d2182149559430350cf2104 · fixed in 07a9e289ff7edcc004f58952405f8a65c4e37512; From 5d510ac31626ed157d2182149559430350cf2104 · fixed in d40c24634fe077a0dc91fd11fccf44ce12b454d5; From 6.1.160 · fixed in 6.1.188; From 6.6.120 · fixed in 6.6.157; From 6.12.64 · fixed in 6.12.110; From 6.18.3 · fixed in 6.18.52

  • Linux Linux

    6.19

  • KernelLinux

    fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6

References 6

git.kernel.org