针对 CVE-2026-32604 和 CVE-2026-32613 的概念验证演示,这两个 Spinnaker 中严重程度为 10.0 的漏洞可导致代码执行和生产云凭证窃取。
Clouddriver 的工件获取端点在基于 HTTP 的 Git 认证时,会将用户提供的分支名称未经清理地传入 sh -c 命令。任何已认证用户都可以通过 PUT /artifacts/fetch 注入 shell 命令,从而在 Clouddriver 主机上实现任意代码执行——该服务持有所有云提供商凭证。除成为已认证用户外,无需任何特殊角色或权限。
当管道触发器触发时,Echo 使用不受限制的 StandardEvaluationContext 通过 Spring 表达式语言(SpEL)评估预期工件声明。对任何应用具有写入权限的攻击者都可以保存包含恶意 SpEL 表达式的管道,然后触发 webhook 触发器以在 Echo 服务上实现任意代码执行。Spinnaker 中所有其他 SpEL 评估点都使用加固的上下文;这是唯一未加固的评估点。
setup/ — 自动化环境搭建。克隆 Spinnaker 源码树,从源码构建所有服务,并启动一个完整配置的集群(Gate、Orca、Clouddriver、Front50、Fiat、Echo)及配套基础设施(Redis、MySQL、Elasticsearch、Minio、OpenLDAP)。包含带有测试应用、用户和管道的种子数据。
pocs/ — 漏洞利用脚本。每个 PoC 连接到 Gate,设置攻击,并将用户放入目标服务容器上的交互式反向 shell 中。
clouddriver_rce_via_git_clone.py — Git 克隆 shell 注入echo_rce_via_spel.py — 通过 expectedArtifacts 实现 SpEL RCE前置条件:Docker、Git、Python 3.10+ 和 uv。
cd setup
./setup.sh
首次运行会克隆 Spinnaker 源码并构建所有服务(根据机器性能约需 20-30 分钟)。后续运行会复用缓存的构建,几分钟内即可启动。
搭建完成后,会打印完整的环境详情(服务 URL、凭证和示例 PoC 命令)。按照这些说明运行 PoC。
要拆除环境:
cd setup
./teardown.sh