Skip to main content

Linux Kernel CIFS EUVDEUVD-2026-86174

| CVE-2026-93787 HIGH
2026-09-24 Linux GHSA-59gw-x2m7-5p58
8.1
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Operate hostile SMB1 server
  2. Delivery
    Victim mounts CIFS share
  3. Exploit
    Victim lists directory (getdents64)
  4. Execution
    Server returns oversized FileNameLength dirent
  5. Persist
    memchr reads past slab buffer
  6. Impact
    Kernel memory leak or crash

Vulnerability Assessment

Exploitation Conditions

Requires the victim to mount a CIFS share from an attacker-controlled server using the legacy SMB1 dialect and then perform a directory listing (getdents64/iterate_dir), reaching the TRANS2_FIND_FIRST/FIND_NEXT dirent-parsing path in cifs_filldir(). The attacker must control the SMB server and return a directory entry with an oversized FileNameLength. Limiting factors: SMB1 is deprecated and disabled/uncommon in many modern deployments; the victim must be induced to mount and browse the hostile share (UI:R); there is no path to trigger this against a listening service without an active CIFS mount to the attacker.

Impact

This is a client-side, server-triggered out-of-bounds slab read (KASAN-confirmed CWE-125) in the Linux kernel's SMB/CIFS client. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H, base 8.1) is internally consistent with the description: the attacker is a hostile SMB1 server (PR:N - no credentials needed on the attacker side), reachability requires a victim to mount and list the attacker's share (UI:R), and impact is memory disclosure (C:H) plus kernel crash/DoS (A:H) with no integrity effect (I:N). No EPSS score, no CISA KEV listing, and no publicly posted exploit are present in the input - the Artiphishell vTriage reproducer is described as 'available on request,' so it is NOT public POC code. The real-world priority is moderate rather than urgent: it is not a default-configuration remote-unauth flaw, but rather depends on the increasingly deprecated SMB1 dialect and on a user being lured into mounting/listing an attacker-controlled server. The one signal to verify: the vector uses AV:N but the description also notes reachability by 'any user who can list a directory on a CIFS mount,' implying a local trigger path once such a mount exists - the network vector reflects the hostile-server delivery, not remote unauthenticated code execution against an exposed service.

Exploit ScenarioDerived

An attacker stands up a malicious SMB1 server and induces a victim to mount it (e.g., a rogue file share, autofs, or a phishing link that triggers a CIFS mount). When the victim runs a directory listing (getdents64), the server returns a directory entry with an oversized FileNameLength; cifs_filldir() trusts that length and memchr() reads past the SMB response slab buffer, leaking adjacent kernel memory or crashing the host. A private userspace reproducer (emulated hostile SMB1 server plus a getdents64 client) reliably triggers the KASAN report, but no public exploit is available.

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

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

Alert me

AnalysisAIv1 – Sep 25, 2026

An out-of-bounds slab read in the Linux kernel's SMB/CIFS client allows an attacker-controlled SMB1 server to make a victim's kernel read past the end of a kmalloc'd response buffer when that victim lists a directory on a mounted share. cifs_filldir() trusts the server-supplied de.namelen field from a TRANS2_FIND_FIRST/FIND_NEXT response without verifying that the name stays inside the response buffer, so an oversized FileNameLength drives memchr() (via filldir64()/verify_dirent_name()) beyond the allocation and produces a KASAN slab-out-of-bounds report; CVSS 3.1 is 8.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H), with high confidentiality and availability impact from the out-of-bounds read. Exploitation requires the victim to mount a share from a hostile server using the deprecated SMB1 dialect and then browse it, so user interaction is required; no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: 6.12.111, 6.18.53, and 7.2 (mainline) - apply the corresponding stable or mainline update; the fixing commits are 6e3b965267b7313903baba2739992b1e2e92d540, 03003506c86f90312b0966283662c42fcab66e4b and f8cf09a53a0dc1da298e9dd0ba5f21710cf119d6 (see https://git.kernel.org/stable/c/6e3b965267b7313903baba2739992b1e2e92d540 and the sibling links). If immediate patching is not possible, the most effective compensating control is to eliminate the vulnerable code path by refusing the legacy SMB1 dialect: mount with an explicit vers=2.0, vers=2.1, or vers=3.0 option, and disable the SMB1/CIFS dialect kernel-wide (for example by setting the relevant modprobe/conf option and remounting), which prevents the TRANS2_FIND_FIRST/FIND_NEXT parsing that reaches cifs_filldir(); the trade-off is loss of connectivity to SMB1-only servers and legacy NAS appliances until they are upgraded. As a secondary control, avoid mounting or browsing shares hosted by untrusted or attacker-influenced servers, since the vulnerability cannot be triggered without an active SMB1 mount to a hostile server and a directory listing performed by a local user (getdents64). There is no practical way to filter the oversized FileNameLength field at the client, so patch or dialect removal - not input filtering - is the reliable fix.

Affected VersionsENISA

Linux 0 <6.18.53
Linux patch: 6.12.111
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <6e3b965267b7313903baba2739992b1e2e92d540
Linux patch: 7.2
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <03003506c86f90312b0966283662c42fcab66e4b
Linux 0 <6.12.111
Linux patch: 6.18.53
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <f8cf09a53a0dc1da298e9dd0ba5f21710cf119d6

Affected Packages

euvd linux fix: 6.12.111, 6.18.53

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

The vulnerable path is in fs/smb/client (cifs_readdir() -> cifs_filldir() -> filldir64() -> verify_dirent_name() -> memchr()). When a CIFS client parses an SMB1 TRANS2_FIND_FIRST / TRANS2_FIND_NEXT reply, each directory entry is described by a structure containing de.name and a server-controlled de.namelen. The SMB response itself lives in a bounded kmalloc'd buffer, but cifs_filldir() never validates that de.name + de.namelen remains within that buffer before the name is handed to filldir64(), which calls verify_dirent_name() and reads namelen bytes with memchr(). A malicious server that advertises an oversized FileNameLength therefore causes the kernel to read past the end of the response slab allocation. This is an out-of-bounds read (CWE-125) reachable through the standard getdents64()/iterate_dir() syscall path, as shown by the reported KASAN trace (slab-out-of-bounds in memchr+0x71/0x80 from filldir64+0x4c/0x6a0 -> cifs_filldir.constprop.0+0x9bb/0x1e00 -> cifs_readdir+0x2101/0x3380 -> iterate_dir+0x19c/0x520 -> __x64_sys_getdents64+0x126/0x210). Because the read is bounded only by whatever bytes follow the slab object, the impact class is information disclosure plus potential availability loss (crash) rather than remote code execution. The upstream fix passes the end-of-response pointer into cifs_filldir() and rejects any entry whose name would extend past that boundary. The affected component is the in-tree Linux SMB/CIFS client identified by CPE cpe:2.3:a:linux:linux; the defect dates back to the start of the tracked git history (1da177e4c3f41524e886b7f1b8a0c1fc7321cac2), so every unpatched kernel with SMB1 client support is in scope.

Know when the next one hits your stack

  • 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:N/UI:R/S:U/C:H/I:N/A:H
vuln.today AI 8.1 HIGH

Hostile SMB1 server needs no client credentials (PR:N) but victim must mount and list the share (UI:R); OOB slab read leaks kernel memory (C:H) and crashes the host (A:H), no integrity impact.

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

4
CVSS changed
Sep 25, 2026 - 05:23 NVD
8.1 (HIGH)
Patch available
Sep 24, 2026 - 17:03 EUVD
CVE Published
Sep 24, 2026 - 16:02 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 24, 2026 - 16:02 cve.org
HIGH 8.1

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

smb: client: bound dirent name against end of SMB response in cifs_filldir

cifs_filldir() copies the entry name out of an SMB1 TRANS2_FIND_FIRST / FIND_NEXT response using a length (de.namelen) supplied by the server. The kmalloc'd SMB response buffer is bounded, but nothing checks that de.name + de.namelen still lies inside that buffer before the eventual filldir64() -> verify_dirent_name() -> memchr() reads namelen bytes.

A hostile SMB1 server that returns an oversized FileNameLength in a directory entry therefore causes memchr() to read past the end of the response slab buffer. Reachable from any user who can list a directory on a CIFS mount served by an attacker-controlled server (getdents64() on the mounted directory):

BUG: KASAN: slab-out-of-bounds in memchr+0x71/0x80 Read of size 1 at addr ffff88800e0640cc by task poc/115 Call Trace: dump_stack_lvl+0x64/0x80 print_report+0xce/0x620 kasan_report+0xec/0x120 memchr+0x71/0x80 filldir64+0x4c/0x6a0 cifs_filldir.constprop.0+0x9bb/0x1e00 cifs_readdir+0x2101/0x3380 iterate_dir+0x19c/0x520 __x64_sys_getdents64+0x126/0x210 do_syscall_64+0x107/0x5a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Pass the end-of-response pointer down to cifs_filldir() and reject entries whose name would extend past that boundary.

This bug was discovered by Artiphishell's vTriage pipeline, which generated a userspace reproducer (an emulated hostile SMB1 server plus a getdents64() client) that reliably triggers the KASAN report on an unpatched kernel. The fix below was drafted with the Claude coding assistant; a userspace reproducer is available on request.

Executive ViewAI

Why It Matters

A memory-handling flaw in the Linux kernel's SMB/CIFS client (CVE-2026-93787, CVSS 8.1) allows a hostile SMB1 file server to make a victim's kernel read beyond an allocated buffer whenever a user lists a directory on a mounted share; per the CVSS vector the attacker needs no credentials (PR:N) but a user must mount and browse the share (UI:R). Exposure is concentrated in environments that still rely on the deprecated SMB1 dialect, where affected endpoints or servers can leak kernel memory and be destabilized or crashed. A vendor patch is available and no public exploit code has been identified at time of analysis, so remediation is achievable within normal patch cycles.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Medium
cifs.ko ships in most Linux distros, but SMB1 mounting to hostile servers is legacy/niche
Data Quality
4 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.3%
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

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

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