🇰🇷 한글 설명
vLLM 0.26.0 미만 버전에서 발생하는 취약점으로, 잘못된 형식의 JSON 요청을 보낼 경우 서버의 내부 경로와 시스템 정보가 노출될 수 있습니다. 공격자는 인증 없이 /v1/chat/completions 등의 엔드포인트를 통해 OS 사용자 이름, 파일 경로, 파이썬 버전 등의 민감한 정보를 탈취할 수 있습니다.
💡 쉬운 설명
잘못된 데이터를 입력했을 때 서버가 에러 메시지를 너무 자세하게 보여주어, 서버 내부의 중요한 정보가 밖으로 새 나가는 문제입니다. 이를 통해 해커는 서버의 구조와 운영체제 정보를 파악할 수 있습니다.
🇺🇸 원문 (English)
vLLM is an inference and serving engine for large language models. Prior to 0.26.0, the validation_exception_handler in vllm/entrypoints/openai/server_utils.py converts FastAPI RequestValidationError objects with str(exc), and sanitize_message in vllm/entrypoints/utils.py does not remove traceback-style file paths, allowing unauthenticated malformed JSON requests to /v1/chat/completions, /v1/completions, /tokenize, and /detokenize to disclose the OS username, home and virtual-environment paths, Python version, internal package structure, line numbers, and endpoint handler names. This issue is fixed in version 0.26.0.
📍 영향받는 시스템
vLLM versions prior to 0.26.0
⚔️ 공격 벡터
인증되지 않은 사용자가 조작된 JSON 요청을 특정 API 엔드포인트로 전송
🛡️ 대응 방법
vLLM 버전을 0.26.0 이상으로 업데이트
🔧 검증 코드
출력된 버전이 0.26.0 미만이면 취약한 상태이며, 0.26.0 이상이면 안전합니다.
pip show vllm | grep Version