Skip to main content

Linux ksmbd CVE-2026-90176

| EUVDEUVD-2026-81769 HIGH
2026-09-17 Linux GHSA-rxgv-prwv-26g4
8.1
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to ksmbd share
  2. Delivery
    Open file locked by another client
  3. Exploit
    Issue one-byte read/write/copychunk/truncate
  4. Execution
    Lock check skipped by start==end shortcut
  5. Impact
    Read or overwrite locked byte

Vulnerability Assessment

Exploitation Conditions

Requires the target to run the in-kernel ksmbd SMB server (CONFIG_SMB_SERVER) with an exported share, and the attacker to hold a valid authenticated SMB session (PR:L). Exploitation only matters when byte-range locking is in use - a conflicting lock covering the targeted byte must already exist (typically set by another client). Impact is limited to single-byte-range read, write, copychunk, and one-byte truncate operations; multi-byte ranges were always checked correctly. This is a non-default, application-behavior-dependent condition (clients must actually rely on mandatory byte-range locks), which sharply limits real-world exposure despite the network attack vector.

Impact

Vendor CVSS is 8.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N), which overstates real-world impact. This is a logic off-by-one in ksmbd's check_lock_range(): because ranges are inclusive (end = start + length - 1), a single-byte range (start == end) was wrongly treated as empty and skipped mandatory byte-range lock enforcement. The real consequence is that a conflicting lock covering exactly one byte is not honored for one-byte reads, writes, copychunk, and one-byte truncate operations - an SMB mandatory-lock bypass, not a memory-safety flaw. AC:L is defensible (deterministic logic bug, no race), but C:H/I:H is optimistic: the bypass is scoped to single-byte ranges and to files where another client holds a byte-range lock, so C:L/I:L is more honest, yielding ~5.4. No EPSS, no CISA KEV entry, and no public exploit - 'no public exploit identified at time of analysis'. AV:N is correct (SMB is network-facing) but exploitation requires an authenticated SMB session (PR:L) and a non-default scenario where clients rely on byte-range locking. Net: a real correctness/authorization fix worth patching on ksmbd fleets, but far below the 8.1 headline for most environments.

Exploit ScenarioDerived

On a Linux host running the in-kernel ksmbd SMB server, an authenticated SMB user opens a shared file that another client has protected with a byte-range lock. The attacker issues a one-byte read, write, copychunk, or truncate operation targeting the locked byte; because the start == end shortcut skipped the lock check, the operation is permitted despite the conflicting lock, bypassing SMB mandatory-lock semantics. No public exploit code is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 18, 2026

Mandatory byte-range lock enforcement is bypassed in the Linux kernel's in-kernel ksmbd SMB server, letting a client with a valid authenticated SMB session (CVSS PR:L) perform single-byte reads, writes, copychunk operations, and one-byte truncates against a byte that another client has already locked with a conflicting mandatory lock. The defect is a range-validation logic error: check_lock_range() uses inclusive ranges and its callers pass start + length - 1 as the end offset, so the start == end shortcut incorrectly treated a legitimate one-byte range as empty and skipped the lock check entirely; multi-byte ranges were always checked correctly. Exploitation requires a non-default configuration (CONFIG_SMB_SERVER enabled with an exported share) and a pre-existing conflicting lock, which sharply limits real-world exposure; no public exploit code has been identified at time of analysis, and the vendor CVSS of 8.1 (C:H/I:H) overstates impact relative to our assessed CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N.

RemediationAI

Vendor-released patch: update to Linux 6.1.188, 6.6.157, 6.12.110, 6.18.52, or 7.2.6 (mainline fix in 7.3-rc1); the specific upstream commits are a89cc145832e81c32199d4ca2e1ea8bd51ed601d, 993e0158331d37c04da18efe551b5e1e35fb3078, f751d6e39d4c937c45f8fedc66699aa7d2d52288, 84c2d8e807ac489f5c91769293fb15dfdae8bae8, 07a9e289ff7edcc004f58952405f8a65c4e37512, and d40c24634fe077a0dc91fd11fccf44ce12b454d5, all reachable from git.kernel.org. If immediate kernel upgrades are not possible, the most effective compensating control is to stop running the affected ksmbd server: unload the ksmbd module or refrain from exporting shares (CONFIG_SMB_SERVER is non-default, so many distributions are unaffected), with the trade-off that all SMB file sharing served by ksmbd becomes unavailable. A narrower option is to avoid relying on mandatory byte-range lock semantics for ksmbd exports, for example by configuring or guiding clients not to issue SMB2 byte-range locks and by auditing which applications depend on mandatory locks, accepting that applications expecting lock-based consistency may behave incorrectly. Additional containment includes restricting SMB access to trusted authenticated clients and trusted network segments (reduces, but does not eliminate, exposure since a legitimate authenticated session is the precondition), and monitoring ksmbd logs for anomalous single-byte I/O or copychunk activity against locked ranges. Note that the defect only manifests when a conflicting lock already covers the targeted byte, so environments where SMB clients never use byte-range locks are effectively unaffected regardless of patch status.

Affected VersionsENISA

Linux patch: 7.2.6
Linux 6.6.120 <6.6.157
Linux a6f4cfa3783804336491e0edcb250c25f9b59d33 <f751d6e39d4c937c45f8fedc66699aa7d2d52288
Linux da29cd197246c85c0473259f1cad897d9d28faea <993e0158331d37c04da18efe551b5e1e35fb3078
Linux patch: 6.12.110
Linux 6.18.3 <6.18.52
Linux 5d510ac31626ed157d2182149559430350cf2104 <07a9e289ff7edcc004f58952405f8a65c4e37512
Linux 6.1.160 <6.1.188
Linux 571204e4758a528fbd67330bd4b0dfbdafb33dd8 <84c2d8e807ac489f5c91769293fb15dfdae8bae8
Linux patch: 6.6.157
Linux 6.19
Linux patch: 0
Linux 6.12.64 <6.12.110
Linux patch: 6.18.52
Linux 5d510ac31626ed157d2182149559430350cf2104 <d40c24634fe077a0dc91fd11fccf44ce12b454d5
Linux patch: 6.1.188
Linux patch: 7.3-rc1
Linux 52fcbb92e0d3acfd1448b2a43b6595d540da5295 <a89cc145832e81c32199d4ca2e1ea8bd51ed601d

Affected Packages

euvd linux fix: 6.1.188, 6.6.157, 6.12.110, 6.18.52

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ksmbd is the in-kernel SMB/CIFS server in the Linux kernel (build-time gated behind CONFIG_SMB_SERVER), used to export filesystems to SMB clients without a userspace daemon. SMB2 supports byte-range locks, and when a client requests a mandatory lock, the server must reject conflicting I/O from other handles. The relevant helper, check_lock_range(), validates a requested I/O range against existing locks using an inclusive range convention in which both the start and end offsets are part of the range; its callers compute the end as start + length - 1. Under that convention, start end describes a valid single-byte range, not an empty one, but the code contained a shortcut that treated start end as nothing-to-check and returned early. The result is a missing-check / off-by-one class logic flaw in the lock-conflict validation path (no CWE was assigned in the supplied data): one-byte reads, one-byte writes, copychunk operations, and one-byte truncate ranges could proceed even when a conflicting lock covered exactly that byte. The accompanying fix removes the shortcut; the truncate case where the new size equals inode->i_size was already covered because check_lock_range() is only invoked when the requested size differs from the current file size. The affected CPEs are the generic Linux kernel entries cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*, meaning exposure is determined by kernel version and by whether ksmbd is enabled and exporting shares.

Know when Ksmbd gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 5.4 MEDIUM

Network SMB with authenticated user (PR:L), deterministic logic bug (AC:L); impact limited to bypassing locks on single-byte ranges, so C:L/I:L and A:N rather than C:H/I:H.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 5.5 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

4
CVSS changed
Sep 18, 2026 - 18:22 NVD
8.1 (HIGH)
Patch available
Sep 17, 2026 - 17:19 EUVD
CVE Published
Sep 17, 2026 - 16:07 cve.org
HIGH 8.1
CVE Published
Sep 17, 2026 - 16:07 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Linux kernel ksmbd SMB server exposed by non-default CONFIG_SMB_SERVER configurations is affected by a mandatory byte-range lock bypass that could let an authenticated SMB client read, write, copychunk, or truncate a single byte that another client has locked, creating potential data integrity and confidentiality issues for shared files. Organizations using ksmbd to host SMB shares, especially where mandatory locks enforce multi-client coordination, should care because an unpatched server could allow one trusted client to corrupt or access another client's locked data. Exploitation requires authenticated access, a non-default exported share, and a pre-existing conflicting lock, and no public exploit identified at time of analysis, so immediate likelihood is constrained but not zero.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
Linux ubiquitous but in-kernel ksmbd SMB server is opt-in and niche
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy