Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: smb: client: validate the whole DACL before rewriting it in cifsacl build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a server-supplied dacloffset and then use the incoming ACL to rebuild the chmod/chown security descriptor. The original fix only checked that the struct smb_acl header fits before reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate header-field OOB read, but the rewrite helpers still walk ACEs based on pdacl->num_aces with no structural validation of the incoming DACL body. A malicious server can return a truncated DACL that still contains a header, claims one or more ACEs, and then drive replace_sids_and_copy_aces() or set_chmod_dacl() past the validated extent while they compare or copy attacker-controlled ACEs. Factor the DACL structural checks into validate_dacl(), extend them to validate each ACE against the DACL bounds, and use the shared validator before the chmod/chown rebuild paths. parse_dacl() reuses the same validator so the read-side parser and write-side rewrite paths agree on what constitutes a well-formed incoming DACL.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 before b8603d9ae6c9087662b098619996bc4a8064319d; affected bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 before c2abdebf72000a64603ced84d36ccbd164f11391; affected bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 before 8e47d297e7cf9a6029a0d38e7b22faba7d7aaf12; affected bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 before d92f3f0b22414e7515696a02224d0af55e3004a3; affected bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 before ff0ca46b13b9ef6edbcd238a3b6caacfef8ba0e5; affected bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 before b78db9bddc84136f6a0bb49e8883cf200dfb87a8; affected bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 before 0a8cf165566ba55a39fd0f4de172119dd646d39a |
| Linux / Linux | affected 5.12; unaffected 0 before 5.12; unaffected 5.15.210 through 5.15.*; unaffected 6.1.176 through 6.1.*; unaffected 6.6.140 through 6.6.*; unaffected 6.12.86 through 6.12.*; unaffected 6.18.35 through 6.18.*; unaffected 7.0.2 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/b8603d9ae6c9087662b098619996bc4a8064319d
- https://git.kernel.org/stable/c/c2abdebf72000a64603ced84d36ccbd164f11391
- https://git.kernel.org/stable/c/8e47d297e7cf9a6029a0d38e7b22faba7d7aaf12
- https://git.kernel.org/stable/c/d92f3f0b22414e7515696a02224d0af55e3004a3
- https://git.kernel.org/stable/c/ff0ca46b13b9ef6edbcd238a3b6caacfef8ba0e5
- https://git.kernel.org/stable/c/b78db9bddc84136f6a0bb49e8883cf200dfb87a8
- https://git.kernel.org/stable/c/0a8cf165566ba55a39fd0f4de172119dd646d39a
ADP enrichment
A flaw was found in the Linux kernel's Server Message Block (SMB) client, specifically within the cifsacl functionality. A malicious SMB server could provide a malformed Discretionary Access Control List (DACL) that claims to contain more Access Control Entries (ACEs) than are actually present. This insufficient validation allows the kernel to read or copy data beyond the intended memory boundaries, leading to memory corruption. This could potentially result in information disclosure or a denial of service.
- https://access.redhat.com/security/cve/CVE-2026-31709
- https://bugzilla.redhat.com/show_bug.cgi?id=2464476
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31709.json
- https://access.redhat.com/errata/RHSA-2026:24343
- https://access.redhat.com/errata/RHSA-2026:23329
- https://access.redhat.com/errata/RHSA-2026:22940
- https://access.redhat.com/errata/RHSA-2026:23237
- https://access.redhat.com/errata/RHSA-2026:23224
- https://access.redhat.com/errata/RHSA-2026:21556
- https://access.redhat.com/errata/RHSA-2026:21706
- https://access.redhat.com/errata/RHSA-2026:21745
- https://access.redhat.com/errata/RHSA-2026:22900
No English description supplied.
No English description supplied.
No references supplied.