🇰🇷 한글 설명
Xdebug 2.5.5 이하 버전에서 원격 디버깅 활성화 시 포트 9000의 debugger protocol이 인증 없이 eval 명령을 수락하여 임의의 PHP 코드 실행을 허용합니다. 공격자는 이를 통해 system() 등의 시스템 함수를 호출하여 웹 서버 사용자 권한으로 호스트를 완전히 장악할 수 있습니다.
💡 쉬운 설명
PHP 디버깅 도구인 Xdebug가 누구나 명령을 보낼 수 있도록 열려있어서 공격자가 임의의 코드를 실행할 수 있는 문제입니다. 이를 통해 서버 전체를 제어당할 수 있습니다.
🇺🇸 원문 (English)
An unauthenticated OS command injection vulnerability exists within Xdebug versions 2.5.5 and earlier, a PHP debugging extension developed by Derick Rethans. When remote debugging is enabled, Xdebug listens on port 9000 and accepts debugger protocol commands without authentication. An attacker can send a crafted eval command over this interface to execute arbitrary PHP code, which may invoke system-level functions such as system() or passthru(). This results in full compromise of the host under the privileges of the web server user.
📍 영향받는 시스템
Xdebug 2.5.5 및 그 이하 모든 버전
⚔️ 공격 벡터
포트 9000 debugger protocol을 통한 인증되지 않은 eval 명령으로 PHP 코드 주입
🛡️ 대응 방법
Xdebug를 2.5.6 이상으로 업그레이드하거나 프로덕션 환경에서 원격 디버깅 비활성화
🔧 검증 코드
xdebug가 로드되어 있고 버전이 2.5.5 이하로 표시되면 취약
php -m | grep -i xdebug && php -i | grep -i 'xdebug version'