🇰🇷 한글 설명
PHP 5.2.5에서 open_basedir 및 safe_mode_exec_dir 제한이 특정 함수에서 적용되지 않아, 로컬 사용자가 이 제한을 우회하여 의도된 디렉토리 밖의 프로그램을 실행할 수 있는 취약점입니다. exec, system, shell_exec, passthru, popen 함수 등에서 드라이브 표기(예: C:)를 사용하여 우회 공격이 가능합니다.
💡 쉬운 설명
PHP 서버에서 사용자가 실행할 수 있는 프로그램의 위치를 제한하는 보안 설정이 제대로 작동하지 않아, 원래 접근할 수 없어야 할 프로그램들을 실행할 수 있게 되는 문제입니다. 로컬 접근 권한이 있는 공격자가 이를 악용할 수 있습니다.
🇺🇸 원문 (English)
PHP 5.2.5 does not enforce (a) open_basedir and (b) safe_mode_exec_dir restrictions for certain functions, which might allow local users to bypass intended access restrictions and call programs outside of the intended directory via the (1) exec, (2) system, (3) shell_exec, (4) passthru, or (5) popen functions, possibly involving pathnames such as "C:" drive notation.
📍 영향받는 시스템
PHP 5.2.5 (이전 버전도 영향 가능)
⚔️ 공격 벡터
로컬 사용자가 exec/system/shell_exec/passthru/popen 함수와 드라이브 표기법(C: 등)을 통해 제한된 디렉토리 밖의 프로그램 실행
🛡️ 대응 방법
PHP를 5.2.6 이상으로 업그레이드하거나 open_basedir 제한이 제대로 적용되는 패치 적용
🔧 검증 코드
현재 설치된 PHP 버전이 5.2.5보다 높은지 확인 (5.2.6 이상이면 안전)
php -v | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'