In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix out-of-bounds read in smb_check_perm_dacl() The permission-check ACE… (CVE-2026-53390)
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix out-of-bounds read in smb_check_perm_dacl() The permission-check ACE walk in smb_check_perm_dacl() validates the ACE header size and caps sid.num_subauth at SID_MAX_SUB_AUTHORITIES, but it never checks that ace->size is actually large enough to contain num_subauth sub-authorities before compare_sids() dereferences them. CIFS_SID_BASE_SIZE covers the SID header up to but excluding the sub_auth[] array, and offsetof(struct smb_ace, sid) is the ACE header, so the existing guards only guarantee the 8-byte SID base, i.e. zero sub-authorities. compare_sids() then reads ace->sid.sub_auth[i] for i < min(local_sid->num_subauth, ace->sid.num_subauth). The local comparison SIDs (sid_everyone, sid_unix_NFS_mode, and the id_to_sid() result) always have at least one sub-authority, and an attacker controls the ACE revision and authority bytes (which lie within the in-bounds SID base), so they can match one of those SIDs and force the sub_auth read. A crafted ACE with size == 16 and num_subauth >= 1 placed at the tail of the security descriptor therefore causes a heap out-of-bounds read of up to SID_MAX_SUB_AUTHORITIES * sizeof(__le32) bytes past the pntsd allocation. The security descriptor is loaded by ksmbd_vfs_get_sd_xattr() into a buffer sized exactly to the on-disk data (kzalloc(sd_size) in ndr_decode_v4_ntacl()), so the read lands past the allocation. The malformed descriptor can be stored verbatim via SMB2_SET_INFO (the DACL is not normalised before being written to the security.NTACL xattr) and the read fires on a subsequent SMB2_CREATE access check, making this reachable by an authenticated client on a share that uses ACL xattrs. Add the missing num_subauth-versus-ace_size check, mirroring the identical guards already present in the sibling parsers parse_dacl() and smb_inherit_dacl().
AI Analysis
Technical Summary
The Linux kernel's ksmbd module had a vulnerability (CVE-2026-53390) where smb_check_perm_dacl() performed an out-of-bounds read. Although it validated the ACE header size and capped the number of sub-authorities, it failed to ensure the ACE size was sufficient to hold all sub-authorities before compare_sids() accessed them. This allowed a crafted ACE with minimal size but a declared number of sub-authorities to cause a heap out-of-bounds read past the allocated security descriptor buffer. The malformed ACE can be stored via SMB2_SET_INFO and triggered on subsequent SMB2_CREATE access checks by an authenticated client on shares using ACL xattrs. The fix involved adding the missing check to ensure the ACE size covers all sub-authorities, aligning with existing safeguards in related parsers.
Potential Impact
An authenticated client with access to an SMB share that uses ACL extended attributes can trigger a heap out-of-bounds read in the kernel during permission checks. This could potentially lead to information disclosure or kernel instability. However, no known exploits in the wild have been reported. The vulnerability affects the ksmbd component of the Linux kernel and requires authenticated access to a vulnerable share.
Mitigation Recommendations
A fix has been implemented in the Linux kernel to add the missing validation check for ACE size against the number of sub-authorities in smb_check_perm_dacl(). Users and administrators should apply the official Linux kernel updates that include this patch. Since this is not a cloud service, remediation depends on applying the updated kernel version. Patch status is not explicitly confirmed in the provided data; check the vendor advisory or Linux kernel mailing lists for the specific fixed versions and update accordingly.
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix out-of-bounds read in smb_check_perm_dacl() The permission-check ACE… (CVE-2026-53390)
Description
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix out-of-bounds read in smb_check_perm_dacl() The permission-check ACE walk in smb_check_perm_dacl() validates the ACE header size and caps sid.num_subauth at SID_MAX_SUB_AUTHORITIES, but it never checks that ace->size is actually large enough to contain num_subauth sub-authorities before compare_sids() dereferences them. CIFS_SID_BASE_SIZE covers the SID header up to but excluding the sub_auth[] array, and offsetof(struct smb_ace, sid) is the ACE header, so the existing guards only guarantee the 8-byte SID base, i.e. zero sub-authorities. compare_sids() then reads ace->sid.sub_auth[i] for i < min(local_sid->num_subauth, ace->sid.num_subauth). The local comparison SIDs (sid_everyone, sid_unix_NFS_mode, and the id_to_sid() result) always have at least one sub-authority, and an attacker controls the ACE revision and authority bytes (which lie within the in-bounds SID base), so they can match one of those SIDs and force the sub_auth read. A crafted ACE with size == 16 and num_subauth >= 1 placed at the tail of the security descriptor therefore causes a heap out-of-bounds read of up to SID_MAX_SUB_AUTHORITIES * sizeof(__le32) bytes past the pntsd allocation. The security descriptor is loaded by ksmbd_vfs_get_sd_xattr() into a buffer sized exactly to the on-disk data (kzalloc(sd_size) in ndr_decode_v4_ntacl()), so the read lands past the allocation. The malformed descriptor can be stored verbatim via SMB2_SET_INFO (the DACL is not normalised before being written to the security.NTACL xattr) and the read fires on a subsequent SMB2_CREATE access check, making this reachable by an authenticated client on a share that uses ACL xattrs. Add the missing num_subauth-versus-ace_size check, mirroring the identical guards already present in the sibling parsers parse_dacl() and smb_inherit_dacl().
CVSS v3.1
Score 8.1high
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel's ksmbd module had a vulnerability (CVE-2026-53390) where smb_check_perm_dacl() performed an out-of-bounds read. Although it validated the ACE header size and capped the number of sub-authorities, it failed to ensure the ACE size was sufficient to hold all sub-authorities before compare_sids() accessed them. This allowed a crafted ACE with minimal size but a declared number of sub-authorities to cause a heap out-of-bounds read past the allocated security descriptor buffer. The malformed ACE can be stored via SMB2_SET_INFO and triggered on subsequent SMB2_CREATE access checks by an authenticated client on shares using ACL xattrs. The fix involved adding the missing check to ensure the ACE size covers all sub-authorities, aligning with existing safeguards in related parsers.
Potential Impact
An authenticated client with access to an SMB share that uses ACL extended attributes can trigger a heap out-of-bounds read in the kernel during permission checks. This could potentially lead to information disclosure or kernel instability. However, no known exploits in the wild have been reported. The vulnerability affects the ksmbd component of the Linux kernel and requires authenticated access to a vulnerable share.
Mitigation Recommendations
A fix has been implemented in the Linux kernel to add the missing validation check for ACE size against the number of sub-authorities in smb_check_perm_dacl(). Users and administrators should apply the official Linux kernel updates that include this patch. Since this is not a cloud service, remediation depends on applying the updated kernel version. Patch status is not explicitly confirmed in the provided data; check the vendor advisory or Linux kernel mailing lists for the specific fixed versions and update accordingly.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-xg8q-rr62-82pp
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-53390"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- 3.1
Threat ID: 6a5d27ad2a4a8d5989131f4b
Added to database: 07/19/2026, 19:38:21 UTC
Last enriched: 07/19/2026, 20:22:43 UTC
Last updated: 08/28/2026, 10:52:09 UTC
Views: 74
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.