CVE Catalog

CVE-2026-90176

HighCVSS 8.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.49%

41th percentile - higher than 41% of all known CVEs

Summary

In the Linux kernel's ksmbd module, check_lock_range() uses inclusive ranges, so start == end represents a valid single-byte range rather than an empty range. The start == end shortcut skipped mandatory byte-range lock checks for one-byte reads, writes, copychunk operations and one-byte truncate ranges, allowing the operation to proceed despite a conflicting lock.

Risk Assessment

Conflicting byte-range locks are not enforced for single-byte operations, which can lead to data corruption or loss of file consistency on SMB-shared files. Organizations running the ksmbd file server are exposed to data integrity issues.

Recommendation

Update the Linux kernel to a version containing the fix that removes the single-byte range shortcut in check_lock_range(). After updating, verify ksmbd server behavior in a test environment.

Other vulnerabilities in Linux kernel (ksmbd)

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS