🇰🇷 한글 설명
Django Piston의 emitters.py에서 YAML 데이터를 안전하지 않게 역직렬화하여 yaml.load() 메서드 사용 시 원격 공격자가 임의의 Python 코드를 실행할 수 있습니다. 신뢰하지 않는 YAML 입력을 부적절하게 처리할 때 발생합니다.
💡 쉬운 설명
Django Piston 도구가 YAML 데이터를 안전하지 않게 처리해서, 악성 YAML 파일을 보내면 서버에서 원하는 명령을 실행할 수 있습니다. 마치 악성 파일을 열면 바이러스가 실행되는 것과 같은 원리입니다.
🇺🇸 원문 (English)
emitters.py in Django Piston before 0.2.3 and 0.2.x before 0.2.2.1 does not properly deserialize YAML data, which allows remote attackers to execute arbitrary Python code via vectors related to the yaml.load method.
📍 영향받는 시스템
Django Piston 0.2.3 이전 모든 버전, 0.2.x 시리즈 0.2.2.1 이전 버전
⚔️ 공격 벡터
원격 공격자가 malicious YAML 페이로드를 포함한 HTTP 요청을 전송하여 서버에서 임의의 Python 코드 실행
🛡️ 대응 방법
Django Piston을 0.2.3 이상으로 업데이트 또는 yaml.load() 대신 yaml.safe_load() 사용으로 변경
🔧 검증 코드
설치된 django-piston 버전이 0.2.3 미만이거나 0.2.x에서 0.2.2.1 미만이면 취약 상태이므로 업데이트 필요
pip show django-piston 2>/dev/null | grep Version || dpkg -l | grep piston