🔍 CVE-2012-1150

5.0
CVSS Score
MEDIUM
2012-10-05
2026-04-29 01:13
✅ 완료

🇰🇷 한글 설명

Python의 해시 함수가 충돌 방지 기능이 부족하여, 공격자가 의도적으로 해시 충돌을 일으키는 입력값을 전송해 해시 테이블 처리에 과도한 CPU를 소비하게 하는 서비스 거부(DoS) 취약점입니다. 여러 버전의 Python에서 발견되었으며, 웹 애플리케이션의 폼 데이터나 JSON 파싱 등 해시 테이블을 사용하는 모든 부분이 영향을 받습니다.

💡 쉬운 설명

Python이 특정한 입력값들이 같은 위치에 저장되도록 하는 것을 막지 못해서, 공격자가 이를 악용해 컴퓨터를 느리게 만들 수 있습니다. 예를 들어 웹사이트에 많은 요청을 보내서 서버를 마비시킬 수 있습니다.

🇺🇸 원문 (English)

Python before 2.6.8, 2.7.x before 2.7.3, 3.x before 3.1.5, and 3.2.x before 3.2.3 computes hash values without restricting the ability to trigger hash collisions predictably, which allows context-dependent attackers to cause a denial of service (CPU consumption) via crafted input to an application that maintains a hash table.

📍 영향받는 시스템

Python 2.6.8 미만, 2.7.0~2.7.2, 3.0~3.1.4, 3.2.0~3.2.2

⚔️ 공격 벡터

해시 충돌을 유도하는 악의적인 입력값(문자열, 딕셔너리 키 등)을 대량 전송하여 해시 테이블 연산에 CPU 자원 소진

🛡️ 대응 방법

Python을 2.6.8, 2.7.3, 3.1.5, 3.2.3 이상의 버전으로 업데이트

🔧 검증 코드

Python 버전이 위의 취약한 범위에 해당하면 VULNERABLE, 그 이상이면 PATCHED 출력됨. 버전 확인 후 필요시 업그레이드 필요

Shell / Script
python --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{if ($1==2 && $2==7 && $3<3) print "VULNERABLE"; else if ($1==3 && $2==1 && $3<5) print "VULNERABLE"; else if ($1==3 && $2==2 && $3<3) print "VULNERABLE"; else print "PATCHED"}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python