무슨 일이 있었나
vLLM의 VideoMediaIO.load_base64 프레임 수 보호는 요청 수준 media_io_kwargs.video를 통해 VideoMediaIO.num_frames를 재정의하여 우회될 수 있습니다. num_frames를 -1로 설정하면 무제한 분기를 선택하여 모든 프레임을 분할 및 디코딩하므로, 대용량 인라인 비디오/JPEG는 나중에 검증에서 거부되기 전에 API 프론트엔드가 수 기가바이트 프레임 배열을 할당하게 할 수 있습니다 (CWE-400, CVSS 7.5).
왜 중요한가
자원 소비는 엔진 검증 전에 API 프론트엔드에서 발생하므로, 비디오 지원 멀티모달 배포에서 단일 채팅 요청이 과도한 메모리와 CPU를 소비하고 서빙 프로세스를 크래시시키거나 OOM-종료시킬 수 있습니다.
공격 경로
media_io_kwargs.video.num_frames = -1과 함께 대용량 인라인 비디오/JPEG를 제출하여 모든 프레임을 강제로 디코딩합니다.
영향받는 시스템
vLLM >= 0.18.0, < 0.31.0 (video/jpeg MediaIO 경로).
완화 방안
vLLM 0.31.0으로 업그레이드하세요 (PR #58830은 기본적으로 요청 수준 media_io_kwargs를 거부합니다; 신뢰할 수 있는 클라이언트에 대해서만 --trust-request-mm-kwargs로 선택).