무슨 일이 있었나
vLLM 0.3.0부터 0.22.0까지에서 AuthenticationMiddleware는 Starlette의 URL(scope=scope).path를 사용하여 요청 경로를 재구성했으며, 이는 공격자가 제어하는 Host 헤더를 통합합니다. 'localhost/v1/models?'와 같은 조작된 Host 헤더를 주입함으로써 경로가 /v1로 시작하는지 확인하는 인증 체크를 우회하여 보호된 API 엔드포인트에 대한 인증되지 않은 접근을 허용할 수 있습니다. 0.22.0에서 scope['path']를 직접 사용하여 수정되었습니다. CVSS 9.1 Critical은 Miggo Security 심층 분석에 의해 확인되었습니다.
왜 중요한가
vLLM은 프로덕션에서 가장 광범위하게 배포된 LLM 추론 엔진 중 하나입니다. 인증 우회는 네트워크에 접근 가능한 공격자가 API 키 없이 완료, 모델 나열, GPU 리소스 소비 및 민감한 추론 데이터 유출을 할 수 있게 합니다 — 호스팅된 LLM 배포를 보호하는 주요 접근 제어 메커니즘을 직접 훼손합니다.
공격 경로
조작된 Host 헤더(예: Host: localhost/v1/models?)를 사용하는 HTTP 요청을 모든 vLLM OpenAI 호환 API 엔드포인트로 전송합니다. AuthenticationMiddleware 경로 접두사 체크를 우회합니다.
영향받는 시스템
vLLM >= 0.3.0, < 0.22.0
완화 방안
vLLM 0.22.0 이상으로 업그레이드합니다. 권고: https://github.com/vllm-project/vllm/pull/43426