vLLM의 LogprobsTensors 결함은 특정 조건에서 텐서가 초기화되지 않은 채 할당되며, 단 한 명의 사용자가 보낸 요청만으로 다른 테넌트를 포함한 전체 서비스의 가용성을 저해하는 교차 테넌트 서비스 거부(DoS) 공격으로 이어집니다.
CVE-2026-116180 취약점 개요 및 영향 범위
멀티테넌트 환경에서 추론 서비스를 운영하는 ML 엔지니어와 인프라 관리자에게 서비스 가용성 확보는 최우선 과제입니다. 그런데 최근 보고된 CVE-2026-116180 취약점은 vLLM의 특정 버전에서 심각한 서비스 거부(DoS) 결함을 일으키는 것으로 밝혀졌습니다.
해당 취약점은 vLLM 0.8.5 버전부터 0.31.0 직전 버전까지의 범위에서 기록되었습니다. 결함의 핵심은 ‘교차 테넌트(cross-tenant) DoS’라는 점입니다. 일반적인 DoS가 단순히 자원을 고갈시키는 것과 달리, 교차 테넌트 DoS는 특정 테넌트의 요청이 시스템 전체에 영향을 미쳐 다른 정상적인 테넌트들의 서비스 이용까지 불가능하게 만드는 구조적 위험입니다.
LogprobsTensors 초기화 미흡에 따른 기술적 분석
이번 취약점의 기술적 원인은 vLLM 내부의 텐서 할당 방식에 있습니다. 문제가 발생하는 지점은 vllm/v1/outputs.py 파일 내의 LogprobsTensors.empty_cpu() 메서드입니다.
해당 메서드는 백킹 int32 텐서를 할당할 때 torch.empty() 함수를 사용합니다. torch.empty()는 메모리 공간을 할당하되 그 공간을 특정 값으로 초기화하지 않고 그대로 둡니다. 이렇게 초기화되지 않은 채 남겨진 텐서는 추론 과정에서 잘못된 참조나 예외를 일으키고, 서비스 전체의 크래시나 응답 불능 상태로 이어집니다.
이런 메모리 관리 결함은 멀티테넌트 아키텍처에서 특히 치명적입니다. 각 사용자의 요청이 독립적으로 격리되어 처리되어야 하는데도, 초기화되지 않은 텐서로 인한 오류가 런타임 전반에 영향을 미치기 때문입니다.
취약점 트리거 조건: 외부 KV 커넥터 구성
모든 vLLM 환경에서 이 취약점이 즉각 발생하는 것은 아닙니다. 특정 커넥터 설정과 구성 요소가 활성화되었을 때 비로소 트리거 조건이 형성됩니다. 주요 발생 조건은 다음과 같습니다.
- LMCacheConnectorV1 사용 시:
vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py경로의 커넥터를 사용하는 환경에서 임의의 프리픽스 캐시 히트(prefix cache hit)가 발생하면 해당 조건이 형성됩니다. - NixlConnector 사용 시: 분리형 P/D(pre-fill/decode) 구성으로 운영되는 환경의 디코드(decode) 측에서 취약점 조건이 발생합니다.
운영 중인 서비스가 이런 KV 캐시 전송 설정이나 분리형 P/D 구성을 쓰고 있다면 잠재적인 DoS 위험에 노출되어 있을 가능성이 큽니다. 즉각적인 점검이 필요합니다.
| 구분 | 영향을 받는 구성 요소 | 트리거 발생 조건 |
|---|---|---|
| LMCacheConnectorV1 | vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py | 임의의 프리픽스 캐시 히트 발생 시 |
| NixlConnector | 분리형 P/D(pre-fill/decode) 구성 | 디코드(decode) 측 처리 과정 중 발생 |
현재 대응 상태 및 관리자 주의사항
현재 보안 담당자가 가장 주의 깊게 살펴봐야 할 점은 패치 적용 여부와 실제 악용 가능성입니다.
패치 버전 및 업스트림 상태
CVE 레코드는 0.31.0 직전 버전까지를 영향 범위로 명시하고 있지만, GHSA(GitHub Security Advisory) 권고문의 내용은 다릅니다. GHSA 권고문에 따르면 해당 수정 사항이 아직 업스트림에 완전히 반영되지 않았고, 현재의 main 브랜치 또한 여전히 영향권에 있다고 밝히고 있습니다. 단순 버전 업데이트만으로는 완전한 해결이 어려울 수 있다는 뜻이며, 공식 수정 패치가 메인 라인에 병합되었는지 계속 추적해야 합니다.
실제 위협 수준 분석
조사 시점 기준으로 분석된 위협 지표는 다음과 같습니다.
- 공개 PoC: 현재까지 공개된 개념 증명(Proof of Concept) 코드는 확인되지 않았습니다.
- 악용 사례: 실제 야생(in-the-wild)에서 이 취약점을 이용한 공격 사례는 보고되지 않았습니다.
- CISA KEV 등재: CISA의 알려진 취약점 카탈로그(Known Exploited Vulnerabilities Catalog)에 등재되지 않은 상태입니다.
현재까지 실제 악용 사례나 공개 PoC가 없다고 안심할 단계는 아닙니다. 멀티테넌트 추론 서비스는 외부 입력값이 모델 추론 엔진의 심부까지 전달되는 구조라, 내부 로직의 결함이 서비스 전체의 가용성을 무너뜨리는 DoS로 이어질 수 있기 때문입니다.
인프라 관리자와 보안 담당자는 vLLM 버전 확인에 그치지 않고 사용 중인 KV 커넥터의 종류와 P/D 구성 여부까지 짚어 잠재적 위험 요소를 제거하고, 업스트림의 공식 패치 동향을 면밀히 지켜보면 됩니다.