🇰🇷 한글 설명
vLLM 0.11.1 미만 버전에서 Nemotron_Nano_VL_Config 클래스를 통해 원격 코드 실행(RCE)이 가능한 취약점이 발견되었습니다. 사용자가 trust_remote_code=False로 설정하더라도 auto_map 항목을 통해 원격 저장소의 Python 코드를 자동으로 가져와 실행할 수 있습니다. 공격자는 악의적인 코드가 포함된 외부 저장소를 참조하도록 설정하여 피해자의 시스템을 장악할 수 있습니다.
💡 쉬운 설명
모델 설정 파일을 불러올 때, 사용자가 보안 설정을 꺼두었음에도 불구하고 몰래 외부의 위험한 프로그램을 다운로드하여 실행하는 취약점입니다. 해커가 만든 가짜 모델 파일을 불러오기만 해도 컴퓨터가 해킹당할 수 있습니다.
🇺🇸 원문 (English)
vLLM is an inference and serving engine for large language models (LLMs). Prior to 0.11.1, vllm has a critical remote code execution vector in a config class named Nemotron_Nano_VL_Config. When vllm loads a model config that contains an auto_map entry, the config class resolves that mapping with get_class_from_dynamic_module(...) and immediately instantiates the returned class. This fetches and executes Python from the remote repository referenced in the auto_map string. Crucially, this happens even when the caller explicitly sets trust_remote_code=False in vllm.transformers_utils.config.get_config. In practice, an attacker can publish a benign-looking frontend repo whose config.json points via auto_map to a separate malicious backend repo; loading the frontend will silently run the backend’s code on the victim host. This vulnerability is fixed in 0.11.1.
📍 영향받는 시스템
vLLM versions prior to 0.11.1
⚔️ 공격 벡터
악의적인 auto_map 설정이 포함된 모델 구성 파일을 로드하여 원격 저장소의 Python 코드를 실행
🛡️ 대응 방법
vLLM 버전을 0.11.1 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 0.11.1보다 낮으면 취약한 상태입니다.
pip show vllm | grep Version