CVE-2026-97555
smb:客户端:修复 DACL 所有者/组重写中的堆溢出
- 已发布
- 2026年9月25日
- 已更新
- 2026年10月30日
- 分配 CNA
- Linux
- 观察到的证据
- 2026年11月4日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 48.0%
- 型号日期
- 2026年11月4日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
在 Linux 内核中,以下漏洞已被修复:smb: client: 修复 DACL 所有者/组重写中的堆溢出。当 id_mode_to_cifs_acl 重写现有 DACL 时,它会根据 dacl_ptr->size 报告的磁盘上 DACL 长度分配一个缓冲区。然而,replace_sids_and_copy_aces 可能会用从 cifs.idmap upcall 获取的新所有者/组 SID 重写每个 ACE。这些 SID 最多可包含 SID_MAX_SUB_AUTHORITIES(15)个子授权,使每个 ACE 最大可达 76 字节(sizeof(struct smb_ace))。如果原始 DACL 包含较短的 SID(例如 1 个子授权),而替换的 SID 较长,则重写后的 ACE 会溢出分配。通过始终为最坏情况的 SID 扩展预留预算来修复此问题:分配 sizeof(struct smb_acl) 加上 num_aces * sizeof(struct smb_ace),这涵盖了 smb_acl 头部以及每个 ACE 在最大 SID 大小下的空间。这取代了之前的分支逻辑:对于 cifsacl 挂载使用 dacl_ptr->size,而对于 mode_from_sid 挂载使用 num_aces * sizeof(struct smb_ace):两条路径都可能触发相同的重写,并且需要相同的余量。KASAN 报告如下:BUG: KASAN: slab-out-of-bounds in build_sec_desc+0x1e8a/0x2680 [cifs] Write of size 4 at addr ffff8881a5e25374 by task chown/5298 ... 出错地址位于已分配的 884 字节区域 [ffff8881a5e25000, ffff8881a5e25374) 右侧 0 字节处
来源
- CVE-2026-97555漏洞利用
Analysis, POC, and arm64 exploit chain for a Linux cifs.ko DACL heap overflow (CVE-2026-97555), escalating to a uid-0 credential overwrite on the reference build.
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。