CVE-2026-68099

CVE-2026-68099

published August 10, 2026

CVSS
—
EPSS
0%
Percentile
6.4
In the wild
Unconfirmed
What it is

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).

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00173 · 6.4th percentile
Published
2026-08-10T17:19Z
References (6)
EPSS history
Timeline
  • 10 AUG 11:58Z
    ksmbd: restore DACL size on check_add_overflow() to avoid malformed ACL
    cvelistv5