🇰🇷 한글 설명
PHP session 확장의 session_save_path 함수가 세미콜론(;) 문자를 제대로 해석하지 못하여, 공격자가 여러 개의 세미콜론과 '..'를 조합한 경로를 입력해 open_basedir와 safe_mode 제한을 우회할 수 있는 취약점입니다.
💡 쉬운 설명
PHP 웹 서버의 세션 저장 경로 설정에서 보안 검사가 불완전해 제한된 폴더 밖의 파일에 접근할 수 있습니다. 세미콜론과 점점(.)을 악용하면 보안 제한을 우회할 수 있습니다.
🇺🇸 원문 (English)
session.c in the session extension in PHP before 5.2.13, and 5.3.1, does not properly interpret ; (semicolon) characters in the argument to the session_save_path function, which allows context-dependent attackers to bypass open_basedir and safe_mode restrictions via an argument that contains multiple ; characters in conjunction with a .. (dot dot).
📍 영향받는 시스템
PHP 5.2.13 미만, PHP 5.3.0 버전
⚔️ 공격 벡터
session_save_path() 함수에 세미콜론(;)과 '..'를 포함한 악의적 경로 입력으로 open_basedir 제한 우회
🛡️ 대응 방법
PHP를 5.2.13 이상 또는 5.3.1 이상으로 즉시 업그레이드
🔧 검증 코드
PHP 버전이 5.2.13 이상 또는 5.3.1 이상이면 취약점 패치됨, 그 이하면 즉시 업그레이드 필요
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+'