CVE-2026-31705

CRITICAL EPSS 31.2%
Published May 1, 20261mo ago · Modified Jun 17, 20261w ago
9.8 CVSS 3.1
Critical
Find Similar
Published May 1, 2026 1mo ago
Last Modified Jun 17, 2026 1w ago

Description

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix out-of-bounds write in smb2_get_ea() EA alignment smb2_get_ea() applies 4-byte alignment padding via memset() after writing each EA entry. The bounds check on buf_free_len is performed before the value memcpy, but the alignment memset fires unconditionally afterward with no check on remaining space. When the EA value exactly fills the remaining buffer (buf_free_len == 0 after value subtraction), the alignment memset writes 1-3 NUL bytes past the buf_free_len boundary. In compound requests where the response buffer is shared across commands, the first command (e.g., READ) can consume most of the buffer, leaving a tight remainder for the QUERY_INFO EA response. The alignment memset then overwrites past the physical kvmalloc allocation into adjacent kernel heap memory. Add a bounds check before the alignment memset to ensure buf_free_len can accommodate the padding bytes. This is the same bug pattern fixed by commit beef2634f81f ("ksmbd: fix potencial OOB in get_file_all_info() for compound requests") and commit fda9522ed6af ("ksmbd: fix OOB write in QUERY_INFO for compound requests"), both of which added bounds checks before unconditional writes in QUERY_INFO response handlers.

CVSS Details

Base Score
9.8
Exploitability
3.9
Impact
5.9
Vector string
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector Network
Attack Complexity Low
Privileges Required None
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High

Threat Intelligence

EPSS Exploit Probability
31.2% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Weaknesses 1

CWE-787 Out-of-bounds Write Memory Safety

Affected Products 6

VendorProductVersionRange
linuxlinux_kernel*≥5.15.145  –  <5.16
linuxlinux_kernel*≥6.1.71  –  <6.2
linuxlinux_kernel*≥6.6  –  <6.6.136
linuxlinux_kernel*≥6.7  –  <6.12.84
linuxlinux_kernel*≥6.13  –  <6.18.25
linuxlinux_kernel*≥6.19  –  <7.0.2

References 6

  • git.kernel.org https://git.kernel.org/stable/c/30010c952077a1c89ecdd71fc4d574c75a8f5617
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/790304c02bf9bd7b8171feda4294d6e62d32ae8f
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/922d48fe8c19f388ffa2f709f33acaae4e408de2
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/98f3de6ef4efbd899348d333f0902dc4ff14380c
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/ddbbc8b2a09dd2cfed90871313e3691ae1db08a2
  • git.kernel.org https://git.kernel.org/stable/c/ffbce350c6fd1e99116ea57383b9031717e36d3b
    Patch

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/30010c952077a1c89ecdd71fc4d574c75a8f5617
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/790304c02bf9bd7b8171feda4294d6e62d32ae8f
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/922d48fe8c19f388ffa2f709f33acaae4e408de2
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/98f3de6ef4efbd899348d333f0902dc4ff14380c
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/ffbce350c6fd1e99116ea57383b9031717e36d3b
    Patch