CVE-2026-89065 和 CVE-2026-89066:projen 的问题 – 路径遍历和操作系统命令注入
公告 ID:2026-108-AWS
范围:AWS
内容类型:重要提示(需要注意)
发布日期:2026 年 9 月 11 日上午 09:00(太平洋夏令时)
描述:
projen 是一个开源工具,用于将软件项目配置定义和合成为代码。AWS 在 projen 中发现了两个问题,这些问题影响了生成的文件清单清理组件和任务合成组件。
- CVE-2026-89065 – 0.101.37 之前版本的 projen 中生成的文件清单清理组件中的相对路径遍历,可能允许上下文相关的攻击者,在项目合成期间使用的版本控制的生成文件清单(.projen/files.json)中,通过有意设计的条目,以递归方式删除项目目录之外的文件和目录。下次运行时,projen 运行时会自动应用更正后的遏制检查。
- CVE-2026-89066 – 在 0.103.0 之前版本的 projen 任务合成组件中,不当中和操作系统命令中使用的特殊元素,可能会允许上下文相关的攻击者,通过项目配置值和存储库文件名中的 Shell 元字符(这些值会被插入 .projen/tasks.json 中生成的任务定义中),在开发人员工作站或持续集成运行器上执行任意命令。
受影响的版本:
- 0.101.37 之前的所有 projen 版本(CVE-2026-89065)
- 0.103.0 之前的所有 projen 版本(CVE-2026-89066)
解决方法:
- CVE-2026-89065 已在 projen 版本 0.101.37 中予以解决。升级到 0.101.37 或更高版本即可;不需要重新合成。
- CVE-2026-89066 已在 projen 版本 0.103.0 中予以解决。升级后,必须重新合成项目,以使用更正的任务定义重新生成 .projen/tasks.json。仅仅升级是不够的,因为生成的任务定义文件已提交到存储库。
建议升级到最新版本,并确保对任何派生代码进行修补,以纳入新的修复程序。
临时措施:
- CVE-2026-89065:查看 .projen/files.json 的版本控制历史记录中是否有转义项目目录的条目,并在运行 projen 之前将其移除。
- CVE-2026-89066:审计 Shell 元字符的项目配置值,包括 LambdaFunctionOptions.entrypoint、AddBundleOptions 字段、JestOptions.extraCliOptions、PytestOptions.testMatch、ReleaseOptions.artifactsDirectory 以及公告中列出的其他属性,并在运行 projen 之前将其移除或转义。
参考:
如有任何安全问题或疑虑,请发送电子邮件至 aws-security@amazon.com。