Description
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).
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Heap Buffer Overflow leading to potential remote code execution
Action: Immediate Patch
AI Analysis

Impact

In the Linux kernel, an ACL size validation bug in the SMB client lets an attacker send a crafted Access Control List to the cifs_do_set_acl() routine. The routine first checks the ACL size using posix_acl_xattr_size(), which expects 4 bytes for a header and 8 bytes per ACE. It then converts the ACL to the CIFS on‑wire format via posix_acl_to_cifs(), which requires 6 bytes for a header and 10 bytes per ACE. Because the converted size is larger than the original buffer, the write can overrun the heap. If an attacker supplies enough ACE entries, the overflow can corrupt adjacent memory, enabling arbitrary code execution or a denial of service. The vulnerability is a classic heap buffer overflow (CWE‑122).

Affected Systems

The flaw exists in any Linux kernel that includes the CIFS/Samba client stack prior to the fix applied in the commits referenced. No specific kernel release is enumerated, so all kernels shipped with the unpatched CIFS client are potentially affected.

Risk and Exploitability

The vulnerability carries a high potential impact, as heap corruption can lead to privilege escalation or system compromise. The CVSS score is not listed, and the EPSS score is unavailable, but the missing inclusion in CISA’s KEV catalog suggests it has not yet been widely exploited. Attackers could exploit the flaw by sending a specially crafted ACL over an SMB connection to the vulnerable client. Because the buffer explosion occurs in userland code called from the kernel, an exploit could obtain root or elevated privileges on the target machine. Organizations should treat this issue as a high‑risk threat until a patched kernel is deployed.

Generated by OpenCVE AI on October 28, 2026 at 11:50 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the patch, which validates the CIFS buffer size before writing and limits the ACL size to USHRT_MAX.
  • Disable or remove the CIFS client module if SMB file sharing is not required, thereby eliminating the attack surface.
  • If an update cannot be applied immediately, mitigate by refusing or rejecting ACL change requests, or by configuring the CIFS stack to restrict ACL sizes to a safe threshold (e.g., less than 1000 ACEs), to prevent the buffer overflow from occurring.

Generated by OpenCVE AI on October 28, 2026 at 11:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Wed, 28 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122

Wed, 28 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
Description 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).
Title smb: client: fix heap overflow in cifs_do_set_acl()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-28T10:34:28.239Z

Reserved: 2026-09-25T10:25:14.392Z

Link: CVE-2026-99110

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T11:17:30.410

Modified: 2026-10-28T11:17:30.410

Link: CVE-2026-99110

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T12:30:16Z

Weaknesses
  • CWE-122

    Heap-based Buffer Overflow