🇰🇷 한글 설명
PyAnyAPI 0.6.1 이전 버전의 Interfaces.py에 있는 YAMLParser 메서드에서 안전하지 않은 yaml.load()를 사용하여 발생하는 YAML 파싱 취약점입니다. 공격자가 YAML 파일에 임의의 Python 코드를 삽입하여 시스템에서 원격 명령어 실행이 가능합니다.
💡 쉬운 설명
프로그램이 설정 파일을 읽을 때 그 안의 코드를 그대로 실행해버리는 문제입니다. 악의적인 사람이 파일에 명령어를 숨겨두면 즉시 실행되어 해커가 시스템을 제어할 수 있습니다.
🇺🇸 원문 (English)
An exploitable vulnerability exists in the YAML parsing functionality in the YAMLParser method in Interfaces.py in PyAnyAPI before 0.6.1. A YAML parser can execute arbitrary Python commands resulting in command execution because load is used where safe_load should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.
📍 영향받는 시스템
PyAnyAPI 0.6.1 이전 모든 버전
⚔️ 공격 벡터
공격자가 악의적인 YAML 파일을 대상 시스템에 로드하도록 유도하여 Python 코드 실행
🛡️ 대응 방법
PyAnyAPI를 0.6.1 이상으로 업데이트하거나 코드에서 yaml.load() 대신 yaml.safe_load() 사용
🔧 검증 코드
설치된 PyAnyAPI 버전이 0.6.1 이상이면 패치됨; 0.6.1 미만이거나 미설치면 취약함
pip show PyAnyAPI 2>/dev/null | grep Version || echo 'Not installed'