CVE-2026-31709
Linux Kernel SMB Client DACL Validation Flaw
Publication date: 2026-05-01
Last updated on: 2026-05-06
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | From 5.12 (inc) to 7.0.2 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's SMB client code that handles security descriptors, specifically the Discretionary Access Control List (DACL) validation. The issue arises because the code only partially validates the DACL structure received from a server before using it to rebuild security descriptors for chmod and chown operations.
Originally, the code checked only the header of the DACL to avoid out-of-bounds reads, but it did not fully validate the entire DACL body or each Access Control Entry (ACE) within it. This allowed a malicious server to send a truncated or malformed DACL that claims to have multiple ACEs but does not actually contain them fully.
Because of this incomplete validation, the code could read or copy attacker-controlled ACEs beyond the validated memory area, potentially leading to memory corruption or other unexpected behavior.
The fix involved factoring the DACL structural checks into a shared validator function that thoroughly validates the entire DACL and each ACE against the DACL bounds. This validator is used consistently in both parsing and rewriting paths to ensure only well-formed DACLs are accepted.
How can this vulnerability impact me? :
This vulnerability can impact you by allowing a malicious SMB server to send a specially crafted, malformed DACL that causes the Linux kernel SMB client to read or copy memory beyond the intended bounds.
Such out-of-bounds memory access can lead to memory corruption, which might be exploited to cause system crashes, denial of service, or potentially arbitrary code execution with kernel privileges.
Since this occurs in the kernel, successful exploitation could compromise the security and stability of the entire system.