CVE-2026-63909

ksmbd: OOB read regression in smb_check_perm_dacl() ACE-walk loops

State
Published
Severity
8.1 High
Published
Jul 19, 2026
Updated
Aug 5, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

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

ksmbd: OOB read regression in smb_check_perm_dacl() ACE-walk loops

Commit d07b26f39246 ("ksmbd: require minimum ACE size in smb_check_perm_dacl()") introduced a transposed bounds check:

if (offsetof(struct smb_ace, sid) + aces_size < CIFS_SID_BASE_SIZE)

Since offsetof(..sid) is 8 and CIFS_SID_BASE_SIZE is 8, this evaluates to `aces_size < 0`. Because `aces_size` is always non-negative, this check becomes dead code and never breaks the loop.

Worse, that commit removed the old 4-byte guard, meaning the loop now reads `ace->size` (offset 2) even when `aces_size` is 0-3 bytes. This re-opens a 2-byte heap out-of-bounds (OOB) read past the pntsd allocation during subsequent SMB2_CREATE operations.

Fix this by properly transposing the comparison to require at least 16 bytes (8-byte offset + 8-byte SID base), matching the correct form used in smb_inherit_dacl().

Scores

CVSSScoreVectorSource
3.18.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 282cbbb476b9f35793452bc461934af4c7eca169 to before 5500ba1d410aed1eded3eb04a76b10cfb4409334Affected
  • f20adc4ef7428bc485ee83fd1a592252fb87718b to before f6324b4240cf0b26a84c33f68a1222d727ff4af2Affected
  • 325d4ac11f526cb8964cff14548ccf02d8c756d8 to before 0fe08c5776a798f46df1fd74b331be26bdd644d6Affected
  • 95e5aa3c3261da8c95b27d7aecf8ee39b9f86a4c to before d333af32e4451285e427f2d9c29de3a39f6f6d48Affected
  • 90089584b2e25c4510b7b987387b4405f0673ece to before 94215d55b09445993929f4fc966061d61de74929Affected
  • 151b1799861fde38087c08f613abc2843ef597b0 to before 4f7c131d2bdd7cd64b96f60d10be5ea72253f520Affected
  • d07b26f39246a82399661936dd0c853983cfade7 to before 0e60dafe97eca61721f3db456f97d97a80c6c8aeAffected
LinuxLinux
  • 6.6.140 to before 6.6.143Affected
  • 6.12.84 to before 6.12.93Affected
  • 6.18.25 to before 6.18.35Affected
  • 7.0.2 to before 7.0.12Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.