🇰🇷 한글 설명
Vanna 라이브러리의 프롬프트 함수에서 프롬프트 주입 취약점이 존재하여 외부 입력을 검증하지 않고 처리할 경우 공격자가 악의적인 코드를 주입할 수 있습니다. 특히 'visualize' 옵션이 활성화된 'ask' 메서드로 전달되는 입력값을 통해 원격 코드 실행(RCE)이 가능합니다.
💡 쉬운 설명
Vanna 라이브러리가 사용자 입력을 충분히 검증하지 않아 공격자가 악의적인 코드를 삽입하고 실행할 수 있습니다. 이를 통해 서버에 완전한 접근 권한을 얻을 수 있습니다.
🇺🇸 원문 (English)
The Vanna library uses a prompt function to present the user with visualized results, it is possible to alter the prompt using prompt injection and run arbitrary Python code instead of the intended visualization code. Specifically - allowing external input to the library’s “ask” method with "visualize" set to True (default behavior) leads to remote code execution.
📍 영향받는 시스템
Vanna 라이브러리 (버전 정보 미공개, 최신 버전 포함 영향)
⚔️ 공격 벡터
ask() 메서드의 외부 입력 파라미터에 프롬프트 주입 페이로드를 삽입하여 Python 코드 실행 유도
🛡️ 대응 방법
Vanna 라이브러리를 최신 보안 패치 버전으로 업그레이드하고 모든 사용자 입력에 대한 입력값 검증 및 새니타이제이션 구현
🔧 검증 코드
설치된 Vanna 라이브러리의 버전을 확인하고 보안 권고사항에 명시된 최신 패치 버전 이상으로 업그레이드되었는지 검증
pip list 2>/dev/null | grep -i vanna || python -c 'import vanna; print(vanna.__version__)' 2>/dev/null