---
id: CVE-2026-90176
title: |-
  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
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 …
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 52fcbb92e0d3acfd1448b2a43b6595d540da5295 <
    a89cc145832e81c32199d4ca2e1ea8bd51ed601d
  - >-
    Linux >= da29cd197246c85c0473259f1cad897d9d28faea <
    993e0158331d37c04da18efe551b5e1e35fb3078
  - >-
    Linux >= a6f4cfa3783804336491e0edcb250c25f9b59d33 <
    f751d6e39d4c937c45f8fedc66699aa7d2d52288
  - >-
    Linux >= 571204e4758a528fbd67330bd4b0dfbdafb33dd8 <
    84c2d8e807ac489f5c91769293fb15dfdae8bae8
  - >-
    Linux >= 5d510ac31626ed157d2182149559430350cf2104 <
    07a9e289ff7edcc004f58952405f8a65c4e37512
  - >-
    Linux >= 5d510ac31626ed157d2182149559430350cf2104 <
    d40c24634fe077a0dc91fd11fccf44ce12b454d5
  - Linux >= 6.1.160 < 6.1.188
  - Linux >= 6.6.120 < 6.6.157
  - Linux >= 6.12.64 < 6.12.110
  - Linux >= 6.18.3 < 6.18.52
  - Linux 6.19
published: '2026-09-17'
updated: '2026-09-18'
sourceUpdated: '2026-09-18T18:17:45.533'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-90176'
references:
  - url: 'https://git.kernel.org/stable/c/07a9e289ff7edcc004f58952405f8a65c4e37512'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/84c2d8e807ac489f5c91769293fb15dfdae8bae8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/993e0158331d37c04da18efe551b5e1e35fb3078'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a89cc145832e81c32199d4ca2e1ea8bd51ed601d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d40c24634fe077a0dc91fd11fccf44ce12b454d5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f751d6e39d4c937c45f8fedc66699aa7d2d52288'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00487
epssPercentile: 0.41039
ingestedAt: '2026-09-17T16:21:47.868Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
