---
id: CVE-2026-72382
title: 'ksmbd: reject undersized DACLs before parsing ACEs'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ksmbd: reject undersized DACLs before parsing ACEs

  parse_dacl() limits the attacker-controlled ACE count by comparing it
  with the number of minimal ACEs that fit in th…
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <
    8dc949061e35427433feac3ebe5ec089f2aa857e
  - >-
    Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <
    16fb65ec15fe7c90f50a2115854bfd9a032d4023
  - >-
    Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <
    282847c0cf22f2e961155ac8e42f6eeab7e16049
  - >-
    Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <
    d020e7f27bf65eecd3805404702f716b2b6d9e73
  - >-
    Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <
    15a9e9b8f7f5d7f380ae54c6f5bcbc0bdcb0f3cd
  - >-
    Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 <
    60908f7ebcd9b6cde74ad5711fab0f49c7970949
  - Linux 5.15
published: '2026-08-15'
updated: '2026-10-30'
sourceUpdated: '2026-10-30T12:29:13.532Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-72382'
references:
  - url: 'https://git.kernel.org/stable/c/8dc949061e35427433feac3ebe5ec089f2aa857e'
  - url: 'https://git.kernel.org/stable/c/16fb65ec15fe7c90f50a2115854bfd9a032d4023'
  - url: 'https://git.kernel.org/stable/c/282847c0cf22f2e961155ac8e42f6eeab7e16049'
  - url: 'https://git.kernel.org/stable/c/d020e7f27bf65eecd3805404702f716b2b6d9e73'
  - url: 'https://git.kernel.org/stable/c/15a9e9b8f7f5d7f380ae54c6f5bcbc0bdcb0f3cd'
  - url: 'https://git.kernel.org/stable/c/60908f7ebcd9b6cde74ad5711fab0f49c7970949'
tags:
  - cve.org
epss: 0.0068
epssPercentile: 0.52667
ingestedAt: '2026-11-05T15:02:32.509Z'
---

## Overview

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

ksmbd: reject undersized DACLs before parsing ACEs

parse_dacl() limits the attacker-controlled ACE count by comparing it
with the number of minimal ACEs that fit in the DACL size. The DACL size
field is 16 bits, but the expression subtracts sizeof(struct smb_acl).
Because sizeof() is unsigned, a DACL size smaller than the ACL header
underflows to a large size_t.

A malicious client can reach this with:

SMB2_SET_INFO (InfoType=SMB2_O_INFO_SECURITY)
  -> smb2_set_info_sec()
  -> set_info_sec()
  -> parse_sec_desc()
  -> parse_dacl()
     -> init_acl_state(..., 0xffff)
     -> init_acl_state(..., 0xffff)
     -> kmalloc_objs(..., 0xffff)

Thus a malformed security descriptor can make num_aces pass the guard
and drive large temporary ACL state and pointer-array allocations.

Reject DACLs smaller than struct smb_acl before doing the subtraction,
so the ACE count check cannot be bypassed by the underflow.

## Affected

- `Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 8dc949061e35427433feac3ebe5ec089f2aa857e`
- `Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 16fb65ec15fe7c90f50a2115854bfd9a032d4023`
- `Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 282847c0cf22f2e961155ac8e42f6eeab7e16049`
- `Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < d020e7f27bf65eecd3805404702f716b2b6d9e73`
- `Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 15a9e9b8f7f5d7f380ae54c6f5bcbc0bdcb0f3cd`
- `Linux >= e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 < 60908f7ebcd9b6cde74ad5711fab0f49c7970949`
- `Linux 5.15`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
