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

ksmbd: restore DACL size on check_add_overflow() to avoid malformed ACL

check_add_overflow() unconditionally writes the truncated sum into *d
even on overflow, per its contract in include/linux/overflow.h.
The four check_add_overflow() guards in set_posix_acl_entries_dacl()
and set_ntacl_dacl() break out of the ACE-building loops on overflow,
but the truncated *size is then consumed downstream at the end of
set_ntacl_dacl():

pndacl->size = cpu_to_le16(le16_to_cpu(pndacl->size) + size);

This produces an on-wire NT ACL whose pndacl->size under-reports the
bytes actually written by the preceding fill_ace_for_sid()/memcpy()
calls, yielding a malformed ACL that can trigger out-of-bounds reads
when re-parsed by clients or ksmbd itself.

Restore *size to its pre-addition value on each overflow branch (via
`*size -= ace_sz` / `size -= nt_ace_size`) so that after the break,
*size once again holds the cumulative size of the successfully-written
ACEs. The committed ACL is then truncated-but-self-consistent rather
than malformed.

The ksmbd DACL builders are the only check_add_overflow() sites found
where an overflow path breaks out of a loop and the destination value
is consumed afterward. The other nearby break-style cases either
return -EINVAL on overflow (transport_ipc.c) or break without
consuming the overflowed destination value afterward (buildid.c).
Published: 2026-08-10
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel code that builds NT ACLs in the ksmbd service mismanages the size field when an integer overflow occurs. This integer overflow issue, corresponding to CWE-125, involves the helper function check_add_overflow writing the truncated sum into the destination even on overflow, and the surrounding loop breaks without restoring the correct accumulated size. The subsequent code then stores this incorrect size into the ACL structure, producing a malformed ACL whose size field under‑reports the number of bytes actually written. When such an ACL is parsed by a client or by ksmbd itself, the size mismatch can lead to out‑of‑bounds reads and memory corruption, potentially resulting in a denial of service.

Affected Systems

The issue exists in the Linux kernel, as indicated by the CNA vendor/product entry Linux:Linux. No specific kernel version is listed in the data, so any kernel release that incorporates the ksmbd ACL code prior to the commit that restores the size on overflow is potentially affected. The fix is referenced by commit hashes such as 0bf38372821b1526f31538a7d9811844c55c7f38.

Risk and Exploitability

The EPSS score of 0.00168 indicates a very low probability of exploitation. The vulnerability is not listed in the CISA KEV catalog, which further suggests limited public exploitation. The CVSS score of 5.9 indicates a moderate level of severity. Attackers would need to craft SMB packets containing a malformed ACL and send them to a ksmbd service or a client that parses Windows ACLs. While the exact likelihood of successful exploitation is uncertain, the potential for memory corruption and denial of service makes the risk significant, especially for unpatched systems in SMB environments.

Generated by OpenCVE AI on August 13, 2026 at 08:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release that incorporates the ksmbd fix referenced by commit 0bf38372821b1526f31538a7d9811844c55c7f38 or later.
  • If upgrading immediately is not possible, restrict SMBv2/v3 traffic from untrusted networks or isolate the affected hosts behind a firewall that blocks SMB traffic.
  • Monitor kernel logs for abnormal SMB parsing errors or out‑of‑bounds reads; consider disabling ksmbd or broader SMB services on critical systems until a reliable patch is available.

Generated by OpenCVE AI on August 13, 2026 at 08:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Sun, 23 Aug 2026 13:15:00 +0000


Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:H'}

threat_severity

Important


Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ksmbd: restore DACL size on check_add_overflow() to avoid malformed ACL check_add_overflow() unconditionally writes the truncated sum into *d even on overflow, per its contract in include/linux/overflow.h. The four check_add_overflow() guards in set_posix_acl_entries_dacl() and set_ntacl_dacl() break out of the ACE-building loops on overflow, but the truncated *size is then consumed downstream at the end of set_ntacl_dacl(): pndacl->size = cpu_to_le16(le16_to_cpu(pndacl->size) + size); This produces an on-wire NT ACL whose pndacl->size under-reports the bytes actually written by the preceding fill_ace_for_sid()/memcpy() calls, yielding a malformed ACL that can trigger out-of-bounds reads when re-parsed by clients or ksmbd itself. Restore *size to its pre-addition value on each overflow branch (via `*size -= ace_sz` / `size -= nt_ace_size`) so that after the break, *size once again holds the cumulative size of the successfully-written ACEs. The committed ACL is then truncated-but-self-consistent rather than malformed. The ksmbd DACL builders are the only check_add_overflow() sites found where an overflow path breaks out of a loop and the destination value is consumed afterward. The other nearby break-style cases either return -EINVAL on overflow (transport_ipc.c) or break without consuming the overflowed destination value afterward (buildid.c).
Title ksmbd: restore DACL size on check_add_overflow() to avoid malformed 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 Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-23T12:45:49.075Z

Reserved: 2026-07-30T09:28:09.368Z

Link: CVE-2026-68099

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:19:54.350

Modified: 2026-08-23T13:16:32.940

Link: CVE-2026-68099

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-10T11:58:13Z

Links: CVE-2026-68099 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T09:00:11Z

Weaknesses