🔍 CVE-2013-7040

4.3
CVSS Score
MEDIUM
2014-05-19
2026-05-06 22:30
✅ 완료

🇰🇷 한글 설명

Python 2.7 및 3.3 이하 버전에서 해시 값 무작위화에 prefix의 하위 8비트만 사용하여 해시 충돌을 예측 가능하게 유발할 수 있으며, 이를 통해 공격자가 해시 테이블을 유지하는 애플리케이션에 CPU 소비 기반의 서비스 거부 공격을 수행할 수 있습니다.

💡 쉬운 설명

파이썬의 해시 기능이 약해서 공격자가 의도적으로 충돌하는 데이터를 보내 프로그램을 느리게 만들 수 있습니다. 딕셔너리나 데이터베이스를 사용하는 프로그램이 과부하에 빠져 작동 불능이 될 수 있습니다.

🇺🇸 원문 (English)

Python 2.7 before 3.4 only uses the last eight bits of the prefix to randomize hash values, which causes it to compute hash values without restricting the ability to trigger hash collisions predictably and makes it easier for context-dependent attackers to cause a denial of service (CPU consumption) via crafted input to an application that maintains a hash table. NOTE: this vulnerability exists because of an incomplete fix for CVE-2012-1150.

📍 영향받는 시스템

Python 2.7 및 Python 3.0~3.3 버전

⚔️ 공격 벡터

해시 충돌을 유발하는 악의적으로 제작된 입력(POST 데이터, JSON 페이로드 등)을 애플리케이션에 전달하여 CPU 리소스 고갈

🛡️ 대응 방법

Python을 3.4 이상으로 업그레이드하거나 PYTHONHASHSEED 환경 변수를 설정하여 해시 무작위화 강화

🔧 검증 코드

명령어가 'Vulnerable'을 출력하면 시스템이 CVE-2013-7040에 취약함을 의미하며, 'Not vulnerable'은 Python 3.4 이상이 설치되어 있음을 의미합니다.

Shell / Script
python -c "import sys; sys.exit(0 if sys.version_info < (3,4) else 1)" && echo "Vulnerable" || echo "Not vulnerable"

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python