CVE-2026-31709
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/05/2026
Last modified:
17/05/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
smb: client: validate the whole DACL before rewriting it in cifsacl<br />
<br />
build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a<br />
server-supplied dacloffset and then use the incoming ACL to rebuild the<br />
chmod/chown security descriptor.<br />
<br />
The original fix only checked that the struct smb_acl header fits before<br />
reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate<br />
header-field OOB read, but the rewrite helpers still walk ACEs based on<br />
pdacl->num_aces with no structural validation of the incoming DACL body.<br />
<br />
A malicious server can return a truncated DACL that still contains a<br />
header, claims one or more ACEs, and then drive<br />
replace_sids_and_copy_aces() or set_chmod_dacl() past the validated<br />
extent while they compare or copy attacker-controlled ACEs.<br />
<br />
Factor the DACL structural checks into validate_dacl(), extend them to<br />
validate each ACE against the DACL bounds, and use the shared validator<br />
before the chmod/chown rebuild paths. parse_dacl() reuses the same<br />
validator so the read-side parser and write-side rewrite paths agree on<br />
what constitutes a well-formed incoming DACL.
Impact
Base Score 3.x
8.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.12 (including) | 7.0.2 (excluding) |
To consult the complete list of CPE names with products and versions, see this page



