RHSB-2025-001 vLLM 분산 KV 캐시 기능 관련 취약점 - (CVE-2025-47277)

Public Date: May 26, 2025, 23:36
갱신됨 May 26, 2025, 23:36 - Chinese, Simplified 영어 (English) French Japanese

이 정보가 도움이 되었나요?

Ongoing 상태
Moderate Impact

요약 

vLLM 프로젝트는 대규모 언어 모델(LLM)을 위한 고성능의 사용하기 쉬운 라이브러리를 제공합니다. 일부 vLLM 기능을 사용하려면 안전한 배포와 사용을 위해 추가적인 계획이 필요합니다. 특히, vLLM의 노드 간 통신은 기본적으로 안전하지 않으며 노드를 격리된 네트워크로 제한해야 안전하게 사용할 수 있습니다.

vLLM 프로젝트에서 보안 취약점이 발견되었습니다. 이 문제는 CVE-2025-47277 로 지정되었으며 심각도 영향은 중간으로 평가되었습니다. 기본적으로 Red Hat 제품은 vLLM 노드를 격리된 네트워크로 제한하도록 구성되어 있습니다. 그러나 고객이 특정 설정을 변경하는 경우 이 취약점의 영향이 발생할 수 있으며, 따라서 Red Hat 제품이 영향을 받습니다. 

vLLM이 포함된 Red Hat 제품은 다음과 같습니다:

  • Red Hat AI Inference Server

  • Red Hat Enterprise Linux AI(RHEL AI)

  • Red Hat OpenShift AI(RHOAI)

기술적 세부 사항

영향을 받는 구성 조건

사용자의 vLLM 배포가 다음 조건을 모두 충족하는 경우 보안 취약점의 영향을 받을 수 있습니다.

  1. 0.8.0 이전 버전에서 기본 설정으로 되어있는 vLLM V0 엔진을 사용하는 경우입니다. 0.8.0 이상에서는 VLLM_USE_V1 환경 변수를 0으로 설정하여 vLLM을 실행해야 합니다. 이는 Red Hat 제품의 기본 구성이 아닙니다.

  2. 0.6.5부터 0.8.4까지의 V0 엔진과 PyNcclPipe 기능을 사용하는 vLLM의 영향을 받는 버전을 사용하는 경우입니다. 이는 Red Hat 제품의 기본 구성이 아닙니다.

  3. 노드가 격리된 vLLM 노드 간 통신 네트워크 이외의 네트워크에 연결된 경우입니다. Red Hat 제품은 기본 설정에서 다중 노드 기능을 활성화하지 않습니다.

  4. KVTransferConfig의 –kv-ip 매개변수를 사용하여 vLLM 서버가 신뢰할 수 없는 네트워크에서 데이터를 수신하지 못하도록 하는 경우입니다. 이는 Red Hat 제품의 기본 구성이 아닙니다.

앞서 언급한 제품의 기본 설정을 포함한 다른 구성은 취약점의 영향을 받지 않습니다. 

배경 정보

vLLM은 다중 노드 시나리오에서 실행되도록 구성할 수 있습니다. 이를 통해 여러 호스트에 분산된 GPU에 모델 실행이 분산됩니다. 다중 노드 시나리오에서 사용할 수 있는 또 다른 선택적 메커니즘은 KV 캐시의 배포 및 공유입니다. 

V0 엔진에는 호스트 간에 KV 캐시를 전송하기 위한 여러 가지 실험적 옵션이 있습니다. 이러한 옵션 중 하나인 PyNcclPipe 구현이 이 취약점의 대상입니다.

Red Hat 제품은 기본적으로 다중 노드 vLLM 배포를 활성화하지 않습니다. 

관련 위험

vLLM은 PyTorch Foundation의 커뮤니티 기반 프로젝트입니다. PyTorch의 일부 주요 속성을 계승한 vLLM의 보안 철학은 이 보안 가이드에 명시되어 있습니다. 보안 가이드에서는 다중 노드 통신은 단일 목적 네트워크에서 격리되어야 한다고 설명합니다. 이 철학은 성능 최적화를 중시하며 시스템 관리자가 보안 환경을 책임져야 함을 강조합니다.

PyNcclPipe 취약점

KVTransferConfig에는 --kv-ip CLI 매개변수가 포함되어 있으며, 이를 통해 운영자는 KV 캐시를 바인딩할 네트워크 인터페이스를 지정할 수 있습니다. 그러나 PyNcclPipe를 사용하면 이 매개변수는 무시되고 대신 0.0.0.0에 바인딩되어 모든 네트워크 인터페이스에 노출됩니다. vLLM 노드가 신뢰할 수 없는 네트워크를 포함하여 여러 네트워크에 연결된 환경에서는 이러한 동작으로 인해 신뢰할 수 없는 네트워크의 공격자가 서버에서 임의의 명령을 실행할 수 있습니다.

Red Hat 제품은 단일 네트워크 인터페이스가 있는 Pod의 컨테이너에 vLLM을 배포하므로 –kv-ip 매개변수를 사용하여 액세스를 제한하는 효과적인 방법이 불가능합니다. Pod 내 네트워크 애플리케이션에 대한 액세스 제어는 Openshift 환경에서 NetworkPolicy 객체를 사용하거나 podman을 사용하여 전용 격리 네트워크를 생성하여 제한해야 합니다.

권장 사항

V0 엔진에서의 KV 캐시 전송은 실험적 단계이므로 어떠한 프로덕션 환경에서도 사용하지 않는 것이 좋습니다. 이러한 기능에 관심이 있으시다면 최근 발표된 llm-d 프로젝트의 개발 동향을 살펴보시기 바랍니다.

감사 인사

이 취약점은 다음 세 단체/개인에 의해 각각 독립적으로 보고되었습니다.

참고 자료

Comments