무슨 일이 있었나
Woodpecker CI 3.0.0–3.14.0은 gRPC 요청의 JWT 토큰을 확인하지만 요청 메타데이터의 agent_id가 JWT에서 확인된 신원과 일치하는지 강제하지 않습니다. 공격자는 임의의 agent_id를 제공할 수 있고 서버는 이를 신뢰합니다.
왜 중요한가
AI/ML 워크로드의 경우, 에이전트는 종종 모델 학습 데이터, GPU, 자격증명에 접근할 수 있습니다. 에이전트 위장은 공격자가 다른 에이전트의 권한으로 악의적인 작업을 실행하여 데이터를 도용하거나 다른 인프라로 피벗할 수 있게 합니다.
공격 경로
Woodpecker CI의 gRPC 계층은 JWT 토큰을 올바르게 검증하지만 이후 gRPC 메타데이터의 클라이언트 제공 agent_id 값을 위해 확인된 에이전트 신원을 버립니다. 한 에이전트를 제어하는 인증된 공격자는 위조된 agent_id를 삽입하여 다른 에이전트를 위장하고, 해당 에이전트로 작업을 실행할 수 있습니다.
영향받는 시스템
Woodpecker CI 3.0.0–3.14.0
완화 방안
Woodpecker CI v3.14.1 이상으로 업데이트; 요청의 agent_id가 JWT 검증 신원과 일치하도록 강제; 필요하지 않으면 사용자 에이전트 등록 비활성화.