HOMEVULNERABILITIESCVE-2026-31712
HIGH

CVE-2026-31712

Published: May 1, 2026· Updated: May 6, 2026

8.3
CVSS v3.1
EPSS:0.04%probability of exploitation in 30 daysPercentile:13.0th

Official Description

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

ksmbd: require minimum ACE size in smb_check_perm_dacl()

Both ACE-walk loops in smb_check_perm_dacl() only guard against an

under-sized remaining buffer, not against an ACE whose declared

`ace->size` is smaller than the struct it claims to describe:

if (offsetof(struct smb_ace, access_req) > aces_size)

break;

ace_size = le16_to_cpu(ace->size);

if (ace_size > aces_size)

break;

The first check only requires the 4-byte ACE header to be in bounds;

it does not require access_req (4 bytes at offset 4) to be readable.

An attacker who has set a crafted DACL on a file they own can declare

ace->size == 4 with aces_size == 4, pass both checks, and then

granted |= le32_to_cpu(ace->access_req); /* upper loop */

compare_sids(&sid, &ace->sid); /* lower loop */

reads access_req at offset 4 (OOB by up to 4 bytes) and ace->sid at

offset 8 (OOB by up to CIFS_SID_BASE_SIZE + SID_MAX_SUB_AUTHORITIES

* 4 bytes).

Tighten both loops to require

ace_size >= offsetof(struct smb_ace, sid) + CIFS_SID_BASE_SIZE

which is the smallest valid on-wire ACE layout (4-byte header +

4-byte access_req + 8-byte sid base with zero sub-auths). Also

reject ACEs whose sid.num_subauth exceeds SID_MAX_SUB_AUTHORITIES

before letting compare_sids() dereference sub_auth[] entries.

parse_sec_desc() already enforces an equivalent check (lines 441-448);

smb_check_perm_dacl() simply grew weaker validation over time.

Reachability: authenticated SMB client with permission to set an ACL

on a file. On a subsequent CREATE against that file, the kernel

walks the stored DACL via smb_check_perm_dacl() and triggers the

OOB read. Not pre-auth, and the OOB read is not reflected to the

attacker, but KASAN reports and kernel state corruption are

possible.

NVD Source

Technical Analysis

CVE-2026-31712 can be exploited remotely over the network without requiring physical or adjacent access, significantly expanding the attack surface for threat actors.

Exploitation requires low privileges, which limits the exposure to scenarios where an attacker has already gained initial access.

A successful exploit results in complete confidentiality breach (data exposure), availability disruption (denial of service), with a CVSS base score of 8.3.

CVSS v3.1 Vector Breakdown

Exploitability
Attack VectorNetwork
Attack ComplexityLow
Privileges Req.Low
User InteractionNone
ScopeUnchanged
Impact
ConfidentialityHigh
IntegrityLow
AvailabilityHigh
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H

Affected Vendors & Products

Linux1 product
linux kernel
Source: NVD CPE · 1 total CPE entries

Exploit & PoC Resources

NO KNOWN EXPLOITNo public exploit confirmed at this time
External links open in a new tab. Always verify in a controlled environment before use.

Official Patches & Advisories

All References (4)

Quick Facts

CVE IDCVE-2026-31712
CVSS Score8.3 / 10
SeverityHIGH
CISA KEVNo
EPSS (30d)0.04%
Affected1 vendor
PublishedMay 1, 2026

Recommended Actions

  • Apply vendor patches immediately
  • Monitor CVE-2026-31712 in threat intel feeds
  • Review IDS/IPS signatures for exploitation attempts
Data sourced from NVD (NIST), CISA KEV, and EPSS (FIRST). Analysis generated by CTIWATCH.COM. CVE data is provided under the NVD usage policy.