🔍 CVE-2016-5636

9.8
CVSS Score
CRITICAL
2016-09-02
2026-05-06 22:30
✅ 완료

🇰🇷 한글 설명

CPython의 zipimport.c 파일에서 get_data 함수의 정수 오버플로우 취약점으로, 음수 데이터 크기 값이 입력될 경우 힙 버퍼 오버플로우를 유발합니다. 원격 공격자가 특수하게 조작된 ZIP 파일을 통해 코드 실행 또는 서비스 거부 공격을 수행할 수 있습니다.

💡 쉬운 설명

Python이 ZIP 파일을 읽을 때, 잘못된 크기 정보가 포함된 파일로 메모리 문제를 일으킬 수 있습니다. 악의적인 ZIP 파일을 받으면 프로그램이 크래시되거나 공격자가 코드를 실행할 수 있습니다.

🇺🇸 원문 (English)

Integer overflow in the get_data function in zipimport.c in CPython (aka Python) before 2.7.12, 3.x before 3.4.5, and 3.5.x before 3.5.2 allows remote attackers to have unspecified impact via a negative data size value, which triggers a heap-based buffer overflow.

📍 영향받는 시스템

Python 2.7.x (2.7.12 이전), Python 3.4.x (3.4.5 이전), Python 3.5.x (3.5.2 이전)

⚔️ 공격 벡터

특수하게 조작된 음수 데이터 크기값을 포함한 ZIP 파일을 대상 시스템에 제공하여 zipimport 모듈이 해당 파일을 처리하도록 유도

🛡️ 대응 방법

Python을 최신 패치 버전(2.7.12 이상, 3.4.5 이상, 3.5.2 이상)으로 업그레이드

🔧 검증 코드

실행 후 'Vulnerable'이 출력되면 해당 Python 버전이 CVE-2016-5636 취약점에 노출된 상태이며, 'Patched'가 출력되면 안전합니다.

Shell / Script
python --version 2>&1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' && python -c "import sys; print('Vulnerable' if sys.version_info < (2,7,12) or (sys.version_info >= (3,0) and sys.version_info < (3,4,5)) or (sys.version_info >= (3,5) and sys.version_info < (3,5,2)) else 'Patched')"

📊 CVSS Vector String

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Python