🔍 CVE-2007-5416

6.8
CVSS Score
MEDIUM
2007-10-12
2026-04-23 00:35
✅ 완료

🇰🇷 한글 설명

Drupal 5.2 이하 버전에서 PHP unset 명령의 버그로 인해 변수가 제대로 초기화되지 않습니다. 공격자는 _menu[callbacks][1][callback] 매개변수를 통해 drupal_eval 함수로 임의의 PHP 코드를 실행할 수 있습니다. 원격 공격자가 관리자 권한 없이도 서버 장악이 가능합니다.

💡 쉬운 설명

오래된 Drupal 웹사이트의 설정 방식 결함으로 인해 공격자가 서버에서 자신의 명령을 직접 실행할 수 있게 됩니다. 2007년 발견된 취약점이므로 현재 운영 중인 사이트라면 매우 높은 위험 상태입니다.

🇺🇸 원문 (English)

Drupal 5.2 and earlier does not properly unset variables when the input data includes a numeric parameter with a value matching an alphanumeric parameter's hash value, which allows remote attackers to execute arbitrary PHP code by invoking the drupal_eval function through a callback parameter to the default URI, as demonstrated by the _menu[callbacks][1][callback] parameter. NOTE: it could be argued that this vulnerability is due to a bug in the unset PHP command (CVE-2006-3017) and the proper fix should be in PHP; if so, then this should not be treated as a vulnerability in Drupal.

📍 영향받는 시스템

Drupal 5.2 and earlier versions

⚔️ 공격 벡터

Default URI의 _menu[callbacks][1][callback] 매개변수를 통해 callback 함수에 PHP 코드 주입 후 drupal_eval 실행

🛡️ 대응 방법

Drupal을 5.3 이상의 최신 버전으로 즉시 업그레이드하거나 공식 보안 패치 적용

🔧 검증 코드

출력된 버전이 5.2 이하면 취약함. 5.3 이상이면 패치됨. 버전 정보가 없으면 Drupal이 설치되지 않았거나 다른 경로에 설치된 것.

Shell / Script
grep -r 'define.*DRUPAL_VERSION' /var/www/drupal/includes/ 2>/dev/null | grep -oP "'\K[^']+(?=')" | head -1

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP