CVE Catalog

CVE-2026-99110

HighCVSS 7.0
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.19%

8th percentile - higher than 8% of all known CVEs

Summary

In the Linux kernel SMB client, cifs_set_acl() validates ACL size using the xattr format (4 + count*8), but cifs_do_set_acl() writes the larger CIFS wire format (6 + count*10) into the same buffer, which can overflow the heap. The size is also not checked against USHRT_MAX, so an oversized ACL truncates the on-wire packet length and causes the server to apply a partial ACL.

Risk Assessment

A local attacker can trigger a kernel heap overflow, leading to memory corruption, system crash, or potential privilege escalation. Additionally, malformed ACLs may be partially applied, weakening access control.

Recommendation

Update the Linux kernel to a version containing the fix that validates the CIFS format size against remaining buffer space and USHRT_MAX. Where possible, restrict mounting of CIFS shares by unprivileged users.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix heap overflow in cifs_do_set_acl() cifs_set_acl() validates ACL size using posix_acl_xattr_size(): 4 + (count * 8) // 4-byte header + 8 bytes per ACE cifs_do_set_acl() then calls posix_acl_to_cifs() to write the CIFS wire format into the same buffer: 6 + (count * 10) // 6-byte header + 10 bytes per ACE An ACL that passes the xattr-based check in cifs_set_acl() can overflow the heap when posix_acl_to_cifs() writes the larger CIFS format. Validate the CIFS format size against the remaining buffer space and USHRT_MAX before converting--data_count is __u16, so sizes above USHRT_MAX truncate the on-wire packet length, causing the server to apply a partial ACL. Replace MaxDataCount = 1000 with min(CIFSMaxBufSize, USHRT_MAX).

Vulnerability data from NVD (NIST) · CISA KEV · EPSS