vLLM 추론 엔진이 P/D 분리 아키텍처의 경쟁 상태로 KV 캐시를 권한 넘게 읽어 데이터 유출과 서비스 중단을 일으킴
결함은 프리필과 디코드 구성 요소 사이의 KV 블록 임대 관리에 있습니다. 요청이 오케스트레이터에 기본 임대 기한을 넘겨 머물면 생산자는 KV 캐시 블록을 회수해 재사용하지만, 소비자는 만료된 원격 블록 ID로 읽기를 계속합니다. 이 시점 경쟁으로 소비자는 다른 요청의 혼합 어텐션 상태 또는 순환 상태를 조용히 적재합니다. 공격자는 데이터를 뒤섞거나, 특정 입력으로 CUDA 불법 주소 오류를 일으켜 추론 엔진 전체를 붕괴시켜 기밀성, 무결성, 가용성을 심각하게 훼손합니다.
컴포넌트
vLLM은 고성능 대규모 언어 모델 추론 프레임워크입니다. Transformer 어텐션 계산과 메모리 관리를 최적화하고, 프리필과 디코드를 분리한 분산 아키텍처로 GPU 이용률을 극대화합니다. NIXL 등 하위 통신 라이브러리로 장치 간 텐서 전송과 상태 동기화를 효율적으로 수행해 높은 동시성, 낮은 지연의 기업용 AI를 지원합니다.
유형
Race Condition (CWE-362)
저장소
대응 방안
- 데이터 전송 계층에서 프리필 블록 임대 유효성을 엄격히 검사해, 소비자가 읽기 전에 임대 만료 여부를 확인하십시오. 오래 대기하는 요청의 상태를 유지하도록 하트비트 임대 갱신을 넣고, 무효한 읽기를 감지하면 처리를 계속하지 말고 실패시켜 경쟁 상태를 제거하십시오.
litellm 프록시 인가 논리 결함으로 원격 공격자가 전체 접근 권한을 얻어 시스템 무결성을 훼손
granted_scope가 ID-JAG 어서션의 scope 선언을 파싱할 때 누락 값과 빈 문자열을 구분하지 못해, 빈 scope가 무제한 전역 자격 증명으로 잘못 대응됩니다. 공격자는 빈 scope가 든 유효한 서명 토큰으로 네트워크 요청을 보내 라우트 기반의 세분화된 접근 제어를 우회하고, 프록시 뒤의 모든 LLM 및 MCP 추론 인터페이스를 제한 없이 호출해 기밀성과 무결성을 심각하게 훼손합니다.
컴포넌트
litellm은 대규모 언어 모델 호출을 위한 통합 인터페이스 프록시입니다. 하위 이종 모델의 차이를 가리고 표준 API 접속을 제공하며, 핵심 기능은 라우팅, 키 관리, 요청 인증입니다. ID-JAG 등 신원 어서션으로 마이크로서비스 또는 MCP 자원에 대한 접근 제어와 권한 격리를 수행합니다.
유형
Improper Authorization (CWE-285)
저장소
대응 방안
- claim 필드의 존재와 내용 유효성을 엄격히 구분하고, None이 아니지만 비어 있거나 공백인 scope 선언에는 무효 범위로 거부 응답을 반환하십시오. 해당 필드가 완전히 빠진 어서션에만 기본 자격 증명을 부여하고, 빈 문자열 회귀 테스트를 추가해 인가 논리를 견고하게 하십시오.