Bug 2562659 (CVE-2026-99110) - CVE-2026-99110 kernel: smb: client: fix heap overflow in cifs_do_set_acl()
Summary: CVE-2026-99110 kernel: smb: client: fix heap overflow in cifs_do_set_acl()
Keywords:
Status: NEW
Alias: CVE-2026-99110
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-28 10:45 UTC by OSIDB Bzimport
Modified: 2026-10-28 16:36 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-28 10:45:05 UTC
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).


Note You need to log in before you can comment on or make changes to this bug.