무슨 일이 있었나
2026-06-30에 발표된 CVE-2026-58370(CVSS v3 8.1 / CVSS v4 9.2 Critical per VulnCheck)은 GitLab과 함께 사용할 때 Woodpecker CI의 포크 승인 보안 경계 우회를 노출합니다. GitLab 웹훅 페이로드의 commit.author.name 필드는 사용자 제어이며 검증되지 않지만 Woodpecker는 이를 승인 검사의 ID로 사용합니다. v3.15.0에서 패치됨.
왜 중요한가
CI/CD 파이프라인은 ML 모델과 AI 서비스를 구축, 테스트 및 배포하는 중요한 AI 인프라입니다. 포크 승인 게이트를 우회하면 외부 공격자가 프로덕션 AI 파이프라인에 악의적인 단계를 주입하고, 모델 학습 시크릿(API 키, 가중치 저장소 자격증명, 데이터 세트 접근 토큰)을 유출하며, 잠재적으로 모델 아티팩트를 백도어할 수 있습니다. CVSS v4 9.2 Critical.
공격 경로
Woodpecker는 ApprovalAllowedUsers 우회 목록을 pipeline.Author에 대해 일치시키는데, GitLab의 경우 이는 웹훅 페이로드의 공격자 제어 git 커밋 작성자 이름(forge 검증 발신자 ID가 아님)에서 소싱됩니다. 공격자는 해당 커밋 작성자 이름을 허용 목록에 있는 사용자 이름과 일치하도록 설정하여 needsApproval이 false를 반환하고 파이프라인이 승인 없이 실행되도록 하며, 모든 CI 시크릿에 접근할 수 있는 Woodpecker 에이전트에서 공격자 제어 단계를 실행합니다.
영향받는 시스템
Woodpecker CI 3.15.0 이전(GitLab forge 드라이버만 해당; Gitea, Forgejo, GitHub, Bitbucket은 영향을 받지 않음)
완화 방안
Woodpecker CI 3.15.0으로 업그레이드하세요. 수정 커밋: https://github.com/woodpecker-ci/woodpecker/commit/98faae778c953678944996c89ed99307d2f16a3d