무슨 일이 있었나
vLLM 0.22.1 이전에 공식 vLLM Dockerfile은 --extra-index-url을 사용하여 사용자 지정 인덱스(flashinfer.ai/whl/)에서 flashinfer-jit-cache 패키지를 설치했으며, UV_INDEX_STRATEGY='unsafe-best-match'가 전역적으로 설정되었습니다. 패키지 이름은 PyPI에 등록되지 않았습니다. 충분히 높은 버전 번호(예: 0.6.11.post2)로 PyPI에 flashinfer-jit-cache를 등록하는 공격자는 모든 Docker 빌드 중에 root로 임의의 코드를 실행하여 결과 컨테이너 이미지를 백도어할 수 있습니다. NVD는 CVSS 8.8 High를 확인하며, 2026-06-22에 게시되었습니다.
왜 중요한가
이는 vLLM의 공식 Docker 이미지 빌드 프로세스에 대한 공급망 공격입니다. 공식 Dockerfile에서 vLLM을 빌드하는 모든 조직은 프로덕션 LLM 제공 컨테이너가 자동으로 백도어될 위험이 있으며, 모든 사용자 프롬프트, API 자격 증명, 모델 가중치 및 시크릿의 유출을 활성화합니다 — 컨테이너 시작 시 root 레벨 지속성 포함.
공격 경로
공격자는 PyPI에 flashinfer-jit-cache를 사용자 지정 인덱스 패키지보다 높은 버전으로 등록합니다. docker build 중에 UV의 unsafe-best-match 전략은 PyPI 버전으로 해석되어 공격자 코드를 root로 실행합니다.
영향받는 시스템
vLLM Dockerfile 빌드 < 0.22.1
완화 방안
Dockerfile을 패치하는 vLLM 0.22.1로 업그레이드합니다. 권고: https://github.com/vllm-project/vllm/security/advisories/GHSA-jrf6-vqxq-pjv2