🔍 CVE-2009-2784

9.3
CVSS Score
HIGH
2009-08-17
2026-04-23 00:35
✅ 완료

🇰🇷 한글 설명

dit.cms 1.3에서 register_globals가 활성화된 PHP 환경에서 path, sitemap, relPath 등의 파라미터에 대한 입력값 검증 부재로 인해 디렉토리 트래버설 공격이 가능합니다. 공격자는 ../ 경로를 이용해 임의의 로컬 파일을 포함하고 실행할 수 있으며, 일부 경로에서는 원격 파일 포함(RFI)도 가능합니다.

💡 쉬운 설명

dit.cms 웹사이트 프로그램이 경로 입력값을 제대로 검증하지 않아서, 공격자가 ../ 같은 경로 문자를 이용해 서버의 원래 접근하면 안 되는 파일들을 열거나 실행할 수 있는 취약점입니다. PHP의 register_globals 설정이 켜져있을 때만 악용 가능합니다.

🇺🇸 원문 (English)

Multiple directory traversal vulnerabilities in dit.cms 1.3, when register_globals is enabled, allow remote attackers to include and execute arbitrary local files via a .. (dot dot) in the path parameter to index.php in (1) install/, (2) menus/left_rightslideopen/, (3) menus/side_pullout/, (4) menus/side_slideopen/, (5) menus/simple/, (6) menus/top_dropdown/, and (7) menus/topside/; the sitemap parameter to index.php in (8) menus/left_rightslideopen/, (9) menus/side_pullout/, (10) menus/side_slideopen/, (11) menus/top_dropdown/, and (12) menus/topside/; and the (13) relPath parameter to index/index.php. NOTE: PHP remote file inclusion vulnerabilities reportedly also exist for some of these vectors.

📍 영향받는 시스템

dit.cms 1.3 (PHP register_globals 활성화 환경)

⚔️ 공격 벡터

index.php의 path/sitemap/relPath 파라미터에 ../ 포함하여 디렉토리 트래버설 후 로컬/원격 파일 포함 실행

🛡️ 대응 방법

dit.cms를 최신 버전으로 업그레이드하고, PHP에서 register_globals 비활성화 설정 적용 및 모든 경로 입력값 검증 강화

🔧 검증 코드

register_globals가 1/On이면 취약한 환경이고, Off/Not set이면 PHP 측은 안전하나 dit.cms 자체의 패치 여부를 별도로 확인해야 함

Shell / Script
php -r "echo 'register_globals: ' . (ini_get('register_globals') ?: 'Off/Not set') . PHP_EOL;" 2>/dev/null || echo 'PHP not available'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP