CVE-2026-72382

Summary

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

ksmbd: reject undersized DACLs before parsing ACEs

parse_dacl() limits the attacker-controlled ACE count by comparing it with the number of minimal ACEs that fit in the DACL size. The DACL size field is 16 bits, but the expression subtracts sizeof(struct smb_acl). Because sizeof() is unsigned, a DACL size smaller than the ACL header underflows to a large size_t.

A malicious client can reach this with:

SMB2_SET_INFO (InfoType=SMB2_O_INFO_SECURITY) -> smb2_set_info_sec() -> set_info_sec() -> parse_sec_desc() -> parse_dacl() -> init_acl_state(…, 0xffff) -> init_acl_state(…, 0xffff) -> kmalloc_objs(…, 0xffff)

Thus a malformed security descriptor can make num_aces pass the guard and drive large temporary ACL state and pointer-array allocations.

Reject DACLs smaller than struct smb_acl before doing the subtraction, so the ACE count check cannot be bypassed by the underflow.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxe2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 16fb65ec15fe7c90f50a2115854bfd9a032d4023affected
LinuxLinuxe2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 282847c0cf22f2e961155ac8e42f6eeab7e16049affected
LinuxLinuxe2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < d020e7f27bf65eecd3805404702f716b2b6d9e73affected
LinuxLinuxe2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 15a9e9b8f7f5d7f380ae54c6f5bcbc0bdcb0f3cdaffected
LinuxLinuxe2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 60908f7ebcd9b6cde74ad5711fab0f49c7970949affected
LinuxLinux5.15affected
LinuxLinux0 < 5.15unaffected
LinuxLinux6.6.145 <= 6.6.*unaffected
LinuxLinux6.12.97 <= 6.12.*unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References