CVE-2026-81838 – awsdac 中的 Zip Slip 路径遍历(diagram-as-code)
公告 ID:2026-090-AWS
范围:AWS
内容类型:重要提示(需要注意)
发布日期:2026 年 8 月 27 日下午 13:00(太平洋夏令时)
最后更新时间:2026 年 8 月 28 日上午 9:30(太平洋夏令时)
描述:
awsdac(图表即代码)是一个 CLI 工具,可以根据 YAML 定义生成 AWS 架构图,从而实现版本受控和代码驱动的图表绘制。我们发现了 CVE-2026-81838,这是一个 Zip Slip(路径遍历)问题。当 awsdac 提取定义文件中 ZipFile 资源引用的 zip 归档文件时,蓄意编制的归档文件可以将文件写入预期缓存目录之外的任何路径,只要运行 awsdac 的用户对该路径具有写入权限即可。根据写入的文件类型,这可能导致任意代码执行。
利用此漏洞需要处理来自不受信任来源的定义文件。以下情况可能导致此问题:
- awsdac 运行时未启用定义信任限制(0.22.4 之前的版本没有信任区分;0.22.4 及更高版本要求具有 --allow-untrusted-definitions 标志),或者
- 从本地文件系统(`Type: LocalFile`)加载定义文件,这会绕过定义 URL 允许列表。
处理来自不受信任或半信任来源的定义文件的 CI/CD 环境是主要风险场景。
awsdac 是一个客户端 CLI 工具,用于在本地渲染架构图。此问题不影响任何 AWS 服务、AWS 账户或客户数据。影响范围仅限于运行 awsdac 的计算机。
影响版本:awsdac:版本 0.10 至 0.23(含 0.10 和 0.23)
解决方法:
此问题已在版本 0.24 中得到解决。建议您升级到最新版本,并确保对任何分叉代码或派生代码进行修补,以纳入新的修复程序。
临时措施:
如果您无法立即升级,请:
- 仅处理来自您信任的来源的定义文件(包括本地文件)。
- 不要使用 --allow-untrusted-definitions 标志运行 awsdac(版本 0.22.4 及更高版本)。
- 在 CI/CD 管道中,将 awsdac 使用的定义文件锁定为经过审核的可信内容。
参考:
致谢:
感谢 George Chen 通过协调漏洞披露流程就此问题与我们协作。
如有任何安全问题或疑虑,请发送电子邮件至 aws-security@amazon.com。