🇰🇷 한글 설명
PHP 4.4.5 이전 및 PHP 5.2.1 이전 버전에서 빈 세션 저장 경로 설정 시 TMPDIR 기본값을 사용하여 open_basedir 제한을 우회할 수 있는 로컬 권한 상승 취약점입니다. 공격자는 세션 파일을 통해 제한된 디렉토리에 접근 가능합니다.
💡 쉬운 설명
PHP의 세션 폴더가 제대로 설정되지 않으면 시스템 임시폴더를 사용하게 되는데, 이를 악용하면 서버의 보안 규칙을 무시할 수 있습니다. 로컬 접근 권한이 있는 사용자가 다른 사용자의 데이터나 시스템 파일에 접근할 수 있습니다.
🇺🇸 원문 (English)
PHP 4 before 4.4.5 and PHP 5 before 5.2.1, when using an empty session save path (session.save_path), uses the TMPDIR default after checking the restrictions, which allows local users to bypass open_basedir restrictions.
📍 영향받는 시스템
PHP 4 < 4.4.5, PHP 5 < 5.2.1 (session.save_path 미설정 시)
⚔️ 공격 벡터
로컬 공격자가 TMPDIR 환경변수를 통해 open_basedir 제한을 우회하고 PHP 세션 파일에 접근
🛡️ 대응 방법
PHP를 4.4.5/5.2.1 이상으로 업그레이드하고 session.save_path를 명시적인 경로로 설정
🔧 검증 코드
PHP 버전이 영향받는 범위인지 확인하고, session.save_path 값이 명시적으로 설정되어 있는지 검증 (공백 또는 기본값이면 위험)
php -v && php -r 'echo "session.save_path: " . ini_get("session.save_path") . "\n";'