🇰🇷 한글 설명
Python 2.7과 3.2의 audioop 모듈이 크기 인자와 바이트 문자열 길이 관계를 검증하지 않아 발생하는 취약점입니다. 공격자가 비정상적인 인자로 audioop.reverse() 등의 함수를 호출하여 메모리 손상 및 애플리케이션 충돌을 유발할 수 있습니다.
💡 쉬운 설명
Python의 음성 처리 기능이 입력값을 제대로 검사하지 않습니다. 특정 방식으로 호출하면 프로그램이 강제 종료될 수 있습니다.
🇺🇸 원문 (English)
The audioop module in Python 2.7 and 3.2 does not verify the relationships between size arguments and byte string lengths, which allows context-dependent attackers to cause a denial of service (memory corruption and application crash) via crafted arguments, as demonstrated by a call to audioop.reverse with a one-byte string, a different vulnerability than CVE-2010-1634.
📍 영향받는 시스템
Python 2.7, Python 3.2 이하의 audioop 모듈
⚔️ 공격 벡터
로컬 또는 네트워크 애플리케이션이 audioop 함수를 호출할 때 비정상적인 크기 인자와 바이트 문자열 조합 입력
🛡️ 대응 방법
Python을 3.3 이상으로 업그레이드 하거나 audioop 모듈 사용 코드의 입력값 검증 강화
🔧 검증 코드
Vulnerable이 출력되면 영향받는 버전이며, Safe는 이미 패치된 버전입니다
python -c "import sys; print('Vulnerable' if sys.version_info < (2,7,1) or (sys.version_info >= (3,0) and sys.version_info < (3,3)) else 'Safe')"