ksmbd: validate inherited ACE SID length
Affects the Linux kernel ksmbd SMB server when a parent directory's DACL holds a malformed inheritable ACE. Fixed in 6.6.141, 6.12.88, 6.18.30 and 7.0.7, depending on branch.
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Specific setups only
- Fix
- Fixed in 6.6.141, 6.12.88, 6.18.30, 7.0.7
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: ksmbd: validate inherited ACE SID length smb_inherit_dacl() walks the parent directory DACL loaded from the security descriptor xattr. It verifies that each ACE contains the fixed SID header before using it, but does not verify that the variable-length SID described by sid.num_subauth is fully contained in the ACE. A malformed inheritable ACE can advertise more subauthorities than are present in the ACE. compare_sids() may then read past the ACE. smb_set_ace() also clamps the copied destination SID, but used the unchecked source SID count to compute the inherited ACE size. That could advance the temporary inherited ACE buffer pointer and nt_size accounting past the allocated buffer. Fix this by validating the parent ACE SID count and SID length before using the SID during inheritance. Compute the inherited ACE size from the copied SID so the size matches the bounded destination SID. Reject the inherited DACL if size accumulation would overflow smb_acl.size or the security descriptor allocation size.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
5.15
- KernelLinux
From 5.15.0 · fixed in 6.6.141; From 6.7.0 · fixed in 6.12.88; From 6.13.0 · fixed in 6.18.30; From 6.19.0 · fixed in 7.0.7
References 6
git.kernel.org
Questions about CVE-2026-43490
What does this mean?
During DACL inheritance, the kernel's ksmbd server can read past the end of a malformed inheritable ACE. The temporary inherited ACE buffer pointer and size accounting can also move past the allocated buffer.Source: git.kernel.org
Am I affected, and how do I check?
Kernel versions 5.15.0 through 6.6.141 (before the fix), 6.7.0 through before 6.12.88, 6.13.0 through before 6.18.30, and 6.19.0 through before 7.0.7. The setup needs a parent directory DACL, loaded from the security descriptor xattr, that contains an inheritable ACE whose SID claims more subauthorities than the ACE holds. Check the kernel version with uname -r.Source: git.kernel.org
What should I do about it?
Upgrade to the fixed kernel for your branch: 6.6.141, 6.12.88, 6.18.30, or 7.0.7 or later.Source: git.kernel.org
Is it being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data