Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-53390

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125 Lectura fuera de límites
Fecha de publicación:
19/07/2026
Última modificación:
29/07/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ksmbd: fix out-of-bounds read in smb_check_perm_dacl()<br /> <br /> The permission-check ACE walk in smb_check_perm_dacl() validates the ACE<br /> header size and caps sid.num_subauth at SID_MAX_SUB_AUTHORITIES, but it<br /> never checks that ace-&gt;size is actually large enough to contain<br /> num_subauth sub-authorities before compare_sids() dereferences them.<br /> <br /> CIFS_SID_BASE_SIZE covers the SID header up to but excluding the<br /> sub_auth[] array, and offsetof(struct smb_ace, sid) is the ACE header,<br /> so the existing guards only guarantee the 8-byte SID base, i.e. zero<br /> sub-authorities. compare_sids() then reads ace-&gt;sid.sub_auth[i] for<br /> i num_subauth, ace-&gt;sid.num_subauth). The local<br /> comparison SIDs (sid_everyone, sid_unix_NFS_mode, and the id_to_sid()<br /> result) always have at least one sub-authority, and an attacker controls<br /> the ACE revision and authority bytes (which lie within the in-bounds SID<br /> base), so they can match one of those SIDs and force the sub_auth read.<br /> <br /> A crafted ACE with size == 16 and num_subauth &gt;= 1 placed at the tail of<br /> the security descriptor therefore causes a heap out-of-bounds read of up<br /> to SID_MAX_SUB_AUTHORITIES * sizeof(__le32) bytes past the pntsd<br /> allocation. The security descriptor is loaded by ksmbd_vfs_get_sd_xattr()<br /> into a buffer sized exactly to the on-disk data (kzalloc(sd_size) in<br /> ndr_decode_v4_ntacl()), so the read lands past the allocation. The<br /> malformed descriptor can be stored verbatim via SMB2_SET_INFO (the DACL<br /> is not normalised before being written to the security.NTACL xattr) and<br /> the read fires on a subsequent SMB2_CREATE access check, making this<br /> reachable by an authenticated client on a share that uses ACL xattrs.<br /> <br /> Add the missing num_subauth-versus-ace_size check, mirroring the<br /> identical guards already present in the sibling parsers parse_dacl() and<br /> smb_inherit_dacl().

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.210 (incluyendo) 5.15.212 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.140 (incluyendo) 6.6.144 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.12.84 (incluyendo) 6.12.95 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.18.25 (incluyendo) 6.18.38 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 7.0.2 (incluyendo) 7.1.3 (excluyendo)
cpe:2.3:o:linux:linux_kernel:6.1.176:*:*:*:*:*:*:*