Skip to main content
← All vulnerabilities
CVE-2026-46195

smb: client: validate dacloffset before building DACL pointers

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.15.210, 6.1.176, 6.6.140, 6.12.88, 6.18.30, and 1 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: smb: client: validate dacloffset before building DACL pointers parse_sec_desc(), build_sec_desc(), and the chown path in id_mode_to_cifs_acl() all add the server-supplied dacloffset to pntsd before proving a DACL header fits inside the returned security descriptor. On 32-bit builds a malicious server can return dacloffset near U32_MAX, wrap the derived DACL pointer below end_of_acl, and then slip past the later pointer-based bounds checks. build_sec_desc() and id_mode_to_cifs_acl() can then dereference DACL fields from the wrapped pointer in the chmod/chown rewrite paths. Validate dacloffset numerically before building any DACL pointer and reuse the same helper at the three DACL entry points.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 · fixed in 5de2665e913a10ad70aaeecf736b97276e83d995; From bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 · fixed in f9dc3be8f403c1216df73e57221f44b045e7ee0b; From bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 · fixed in ba7f71b6161c0943dafc367565e5843d16b7d505; From bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 · fixed in 3b1ddba19e77ee35241cd27f16dc3e8d14e08db7; From bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 · fixed in c688f3ed73d31943334ad2139cb02ec49664322a; From bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 · fixed in 8bd07e417b6bda67e317920584e48cb6ee442a8a; From bc3e9dd9d104ca1b75644eab87b38ce8a924aef4 · fixed in f98b48151cc502ada59d9778f0112d21f2586ca3

  • Linux Linux

    5.12

  • KernelLinux

    From 5.12.0 · fixed in 5.15.210; From 5.16.0 · fixed in 6.1.176; From 6.2.0 · fixed in 6.6.140; From 6.7.0 · fixed in 6.12.88; From 6.13.0 · fixed in 6.18.30; From 6.19.0 · fixed in 7.0.7

References 7

git.kernel.org