CVE Catalog

CVE-2026-90153

HighCVSS 8.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.45%

38th percentile - higher than 38% of all known CVEs

Summary

In the ksmbd module of the Linux kernel, smb_check_perm_dacl() bounds its ACE walks by the remaining NTSD length (acl_size) rather than the DACL's declared size (pdacl_size). A crafted DACL can place an access-granting ACE beyond pdacl->size, which is accepted during SMB2_CREATE access validation.

Risk Assessment

This may allow an attacker to bypass access controls and gain unauthorized access to files or resources on an SMB server.

Recommendation

Update the Linux kernel to a version with the fix that bounds both ACE walks by pdacl_size, matching the DACL boundary semantics used elsewhere in the server.

Other vulnerabilities in Linux kernel (ksmbd)

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: ksmbd: bound smb_check_perm_dacl() ACE walks by DACL size smb_check_perm_dacl() validates that the DACL fits inside the NT security descriptor, but then bounds its two ACE walks by the remaining NTSD length (acl_size) rather than the DACL's declared size (pdacl_size). When pdacl->size is smaller than the trailing NTSD buffer, bytes after the declared DACL boundary - still inside the stored security descriptor - are parsed as ACEs during access checks. A crafted DACL can place an access-granting ACE beyond pdacl->size, and the current code accepts it during SMB2_CREATE access validation, while parse_dacl() and smb_inherit_dacl() stop at pdacl_size. Bound both ACE walks by pdacl_size to match the DACL boundary semantics used elsewhere in the server. Validation: - semantic KUnit harness shows the post-boundary ACE is selected before the fix and rejected (EACCES) after it - linux master (7.2-rc6), x86_64

Vulnerability data from NVD (NIST) · CISA KEV · EPSS