CVE-2026-90153: ksmbd: bound smb_check_perm_dacl() ACE walks by DACL size

Published Sep 17, 2026
·
Updated

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

ksmbd: bound smbcheckpermdacl() ACE walks by DACL size

smbcheckpermdacl() validates that the DACL fits inside the NT security descriptor, but then bounds its two ACE walks by the remaining NTSD length (aclsize) rather than the DACL's declared size (pdaclsize).

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 SMB2CREATE access validation, while parsedacl() and smbinheritdacl() stop at pdaclsize.

Bound both ACE walks by pdaclsize 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), x8664

Affected Software

1 affected component
Linux Kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade linux kernel ksmbd to a version that resolves this vulnerability.

    Fixed in 7.2-rc6

Event History

Sep 17, 2026
CVE Published
via MITRE·04:06 PM
Data Sourced
via MITRE·04:06 PM
Description

Frequently Asked Questions

1

Which access decision is affected?

The issue affects SMB2_CREATE access validation in ksmbd when checking a DACL in an NT security descriptor.

2

What must an attacker control to exploit this behavior?

They need a crafted DACL whose declared size ends before an access-granting ACE that remains in the trailing stored security-descriptor buffer. Before the fix, smb_check_perm_dacl() can parse and select that post-boundary ACE during the access check.

3

How can the corrected behavior be verified?

A DACL containing an access-granting ACE beyond its declared boundary should be rejected with EACCES during the relevant access validation. The described semantic KUnit harness observed that result after the fix.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203