🔍 CVE-2014-0472

5.1
CVSS Score
MEDIUM
2014-04-23
2026-05-06 22:30
✅ 완료

🇰🇷 한글 설명

Django의 django.core.urlresolvers.reverse 함수가 사용자 입력 기반의 dotted Python path를 충분히 검증하지 않아, 원격 공격자가 임의의 Python 모듈을 import하고 실행할 수 있는 원격 코드 실행 취약점입니다. 특히 사용자 입력으로 URL을 구성하는 view에서 취약점이 발생합니다.

💡 쉬운 설명

Django 웹 프레임워크의 주소 생성 기능이 사용자 입력을 제대로 검증하지 않아 해커가 악의적인 코드를 실행할 수 있습니다. 웹 주소에 특수한 경로를 삽입하여 서버의 숨겨진 프로그램을 몰래 실행하는 공격입니다.

🇺🇸 원문 (English)

The django.core.urlresolvers.reverse function in Django before 1.4.11, 1.5.x before 1.5.6, 1.6.x before 1.6.3, and 1.7.x before 1.7 beta 2 allows remote attackers to import and execute arbitrary Python modules by leveraging a view that constructs URLs using user input and a "dotted Python path."

📍 영향받는 시스템

Django 1.4.11 미만, 1.5.0~1.5.5, 1.6.0~1.6.2, 1.7 beta 2 미만

⚔️ 공격 벡터

사용자 입력을 사용하여 reverse() 함수로 URL을 구성할 때, dotted Python path 형식의 모듈명을 입력하여 임의 모듈 import 및 실행

🛡️ 대응 방법

Django를 1.4.11, 1.5.6, 1.6.3 또는 1.7 이상으로 즉시 업그레이드

🔧 검증 코드

'Vulnerable' 출력 시 패치 필요, 'Patched' 또는 최신 버전(1.4.11+, 1.5.6+, 1.6.3+) 표시 시 안전

Shell / Script
python -c "import django; v=django.get_version(); print('Vulnerable' if tuple(map(int,v.split('.')[:3])) < (1,4,11) else 'Patched')" 2>/dev/null || pip show django | grep Version

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python