🔍 CVE-2012-2135

6.4
CVSS Score
MEDIUM
2012-08-14
2026-06-16 23:41
✅ 완료

🇰🇷 한글 설명

Python 3.1~3.3의 UTF-16 디코더에서 unicode_decode_call_errorhandler 함수 호출 후 aligned_end 변수가 제대로 업데이트되지 않는 버그입니다. 이로 인해 프로세스 메모리 정보 유출 또는 메모리 손상으로 인한 충돌이 발생할 수 있습니다.

💡 쉬운 설명

Python이 외국어 텍스트를 읽을 때 내부 계산을 제대로 하지 못하는 버그입니다. 공격자가 악의적인 파일을 보내면 컴퓨터 메모리에 있는 비밀정보를 훔치거나 프로그램을 충돌시킬 수 있습니다.

🇺🇸 원문 (English)

The utf-16 decoder in Python 3.1 through 3.3 does not update the aligned_end variable after calling the unicode_decode_call_errorhandler function, which allows remote attackers to obtain sensitive information (process memory) or cause a denial of service (memory corruption and crash) via unspecified vectors.

📍 영향받는 시스템

Python 3.1, 3.2, 3.3

⚔️ 공격 벡터

특수한 UTF-16 인코딩된 문자열을 포함한 파일이나 데이터를 원격에서 전송하여 디코딩 오류 발생

🛡️ 대응 방법

Python을 3.3.3 이상 또는 3.2.5 이상으로 업그레이드

🔧 검증 코드

VULNERABLE 출력시 영향받는 버전, 아무것도 출력 안 되면 안전한 버전입니다.

Shell / Script
python3 --version | awk '{print $2}' | awk -F. '{if($1==3 && ($2<2 || ($2==2 && $3<5) || ($2==3 && $3<3))) print "VULNERABLE"}'

📊 CVSS Vector String

CVSS Vector
AV:N/AC:L/Au:N/C:P/I:N/A:P

💻 영향받는 소프트웨어

Python