{"id":"CVE-2026-46139","state":"PUBLISHED","title":"smb: client: use kzalloc to zero-initialize security descriptor buffer","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: use kzalloc to zero-initialize security descriptor buffer\n\nCommit 62e7dd0a39c2d (\"smb: common: change the data type of num_aces\nto le16\") split struct smb_acl's __le32 num_aces field into __le16\nnum_aces and __le16 reserved. The reserved field corresponds to Sbz2\nin the MS-DTYP ACL wire format, which must be zero [1].\n\nWhen building an ACL descriptor in build_sec_desc(), we are using a\nkmalloc()'ed descriptor buffer and writing the fields explicitly using\nle16() writes now. This never writes to the 2 byte reserved field,\nleaving it as uninitialized heap data.\n\nWhen the reserved field happens to contain non-zero slab garbage,\nSamba rejects the security descriptor with \"ndr_pull_security_descriptor\nfailed: Range Error\", causing chmod to fail with EINVAL.\n\nChange kmalloc() to kzalloc() to ensure the entire buffer is\nzero-initialized.\n\n\n[1] https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/20233ed8-a6c6-4097-aafa-dd545ed24428","publishedAt":"2026-05-28T09:35:55.234Z","updatedAt":"2026-06-14T17:57:22.559Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1593ddb37bd124c131fe635397df68e854a03108","status":"affected","lessThan":"4c3ed344a970aad51388ac3b0145b98318f0e21f","versionType":"git"},{"version":"da087905e3270e2291c0afae39a28e7d183e5ec3","status":"affected","lessThan":"941a1e6eb35440336913afc88a82103291956d5d","versionType":"git"},{"version":"62e7dd0a39c2d0d7ff03274c36df971f1b3d2d0d","status":"affected","lessThan":"be1ef9512a3f5a755895c24f31b334342f4aa15b","versionType":"git"},{"version":"62e7dd0a39c2d0d7ff03274c36df971f1b3d2d0d","status":"affected","lessThan":"9bdb2ca31368b7671949dfb94a5d57ffccd01edd","versionType":"git"},{"version":"62e7dd0a39c2d0d7ff03274c36df971f1b3d2d0d","status":"affected","lessThan":"5e489c6c47a2ac15edbaca153b9348e42c1eacab","versionType":"git"},{"version":"191f2f444745087c3c51fd6042a0e25f42315ab0","status":"affected","versionType":"git"},{"version":"6.12.23","status":"affected","lessThan":"6.12.88","versionType":"semver"},{"version":"6.13.11","status":"affected","lessThan":"6.14","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/client/cifsacl.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.14","versionType":"semver"},{"version":"6.12.88","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.30","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.7","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/client/cifsacl.c"]}],"references":["https://git.kernel.org/stable/c/4c3ed344a970aad51388ac3b0145b98318f0e21f","https://git.kernel.org/stable/c/941a1e6eb35440336913afc88a82103291956d5d","https://git.kernel.org/stable/c/be1ef9512a3f5a755895c24f31b334342f4aa15b","https://git.kernel.org/stable/c/9bdb2ca31368b7671949dfb94a5d57ffccd01edd","https://git.kernel.org/stable/c/5e489c6c47a2ac15edbaca153b9348e42c1eacab"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:07.131Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/46xxx/CVE-2026-46139.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-46139","state":"PUBLISHED","datePublished":"2026-05-28T09:35:55.234Z","dateUpdated":"2026-06-14T17:57:22.559Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-13T15:03:33.100Z"},"containers":{"cna":{"title":"smb: client: use kzalloc to zero-initialize security descriptor buffer","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: use kzalloc to zero-initialize security descriptor buffer\n\nCommit 62e7dd0a39c2d (\"smb: common: change the data type of num_aces\nto le16\") split struct smb_acl's __le32 num_aces field into __le16\nnum_aces and __le16 reserved. The reserved field corresponds to Sbz2\nin the MS-DTYP ACL wire format, which must be zero [1].\n\nWhen building an ACL descriptor in build_sec_desc(), we are using a\nkmalloc()'ed descriptor buffer and writing the fields explicitly using\nle16() writes now. This never writes to the 2 byte reserved field,\nleaving it as uninitialized heap data.\n\nWhen the reserved field happens to contain non-zero slab garbage,\nSamba rejects the security descriptor with \"ndr_pull_security_descriptor\nfailed: Range Error\", causing chmod to fail with EINVAL.\n\nChange kmalloc() to kzalloc() to ensure the entire buffer is\nzero-initialized.\n\n\n[1] https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/20233ed8-a6c6-4097-aafa-dd545ed24428"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1593ddb37bd124c131fe635397df68e854a03108","status":"affected","lessThan":"4c3ed344a970aad51388ac3b0145b98318f0e21f","versionType":"git"},{"version":"da087905e3270e2291c0afae39a28e7d183e5ec3","status":"affected","lessThan":"941a1e6eb35440336913afc88a82103291956d5d","versionType":"git"},{"version":"62e7dd0a39c2d0d7ff03274c36df971f1b3d2d0d","status":"affected","lessThan":"be1ef9512a3f5a755895c24f31b334342f4aa15b","versionType":"git"},{"version":"62e7dd0a39c2d0d7ff03274c36df971f1b3d2d0d","status":"affected","lessThan":"9bdb2ca31368b7671949dfb94a5d57ffccd01edd","versionType":"git"},{"version":"62e7dd0a39c2d0d7ff03274c36df971f1b3d2d0d","status":"affected","lessThan":"5e489c6c47a2ac15edbaca153b9348e42c1eacab","versionType":"git"},{"version":"191f2f444745087c3c51fd6042a0e25f42315ab0","status":"affected","versionType":"git"},{"version":"6.12.23","status":"affected","lessThan":"6.12.88","versionType":"semver"},{"version":"6.13.11","status":"affected","lessThan":"6.14","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/client/cifsacl.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.14","versionType":"semver"},{"version":"6.12.88","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.30","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.7","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/client/cifsacl.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/4c3ed344a970aad51388ac3b0145b98318f0e21f"},{"url":"https://git.kernel.org/stable/c/941a1e6eb35440336913afc88a82103291956d5d"},{"url":"https://git.kernel.org/stable/c/be1ef9512a3f5a755895c24f31b334342f4aa15b"},{"url":"https://git.kernel.org/stable/c/9bdb2ca31368b7671949dfb94a5d57ffccd01edd"},{"url":"https://git.kernel.org/stable/c/5e489c6c47a2ac15edbaca153b9348e42c1eacab"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-06-14T17:57:22.559Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.23","versionEndExcluding":"6.12.88"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"6.18.30"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"7.0.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"7.1"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13.11"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}