
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 표현식이 포함된 파이프라인을 저장한 다음 웹훅 트리거를 실행하여 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 clone 셸 인젝션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