
CVE-2026-32604 および CVE-2026-32613 の POC。これらは Spinnaker における認証後の RCE と資格情報の窃取を可能にします。
CVE-2026-32604 および CVE-2026-32613 の概念実証デモです。これらは Spinnaker における深刻度 10.0 の脆弱性で、コード実行と本番クラウド認証情報の窃取を可能にします。
Clouddriver のアーティファクト取得エンドポイントは、HTTP ベースの Git 認証を使用する際に、ユーザー指定のブランチ名をサニタイズせずに sh -c コマンドへ渡します。認証済みユーザーは誰でも PUT /artifacts/fetch を介してシェルコマンドを注入でき、すべてのクラウドプロバイダー認証情報を保持するサービスである Clouddriver ホスト上で任意のコード実行を達成できます。認証済みユーザーであること以外に、特別なロールや権限は必要ありません。
Echo は、パイプライントリガーが発火した際に、制限のない StandardEvaluationContext を使用して Spring Expression Language (SpEL) で期待されるアーティファクト宣言を評価します。任意のアプリケーションへの書き込みアクセス権を持つ攻撃者は、悪意のある SpEL 式を含むパイプラインを保存し、Webhook トリガーを発火させて Echo サービス上で任意のコード実行を達成できます。Spinnaker 内の他のすべての SpEL 評価ポイントは強化されたコンテキストを使用していますが、これだけが唯一の例外です。
setup/ — 自動環境セットアップ。Spinnaker ソースツリーをクローンし、すべてのサービスをソースからビルドし、完全に構成されたクラスター(Gate、Orca、Clouddriver、Front50、Fiat、Echo)をサポートインフラストラクチャ(Redis、MySQL、Elasticsearch、Minio、OpenLDAP)とともに立ち上げます。テストアプリケーション、ユーザー、パイプラインを含むシードデータが含まれます。
pocs/ — エクスプロイトスクリプト。各 POC は Gate に接続し、攻撃をセットアップし、ユーザーをターゲットサービスコンテナ上の対話型リバースシェルにドロップします。
clouddriver_rce_via_git_clone.py — Git クローンシェルインジェクション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