🇰🇷 한글 설명
PHP 4.4.8 이전 및 PHP 5.2.4 이전 버전의 MySQL/MySQLi 확장에서 LOAD DATA LOCAL INFILE 쿼리를 통해 safe_mode와 open_basedir 보안 제한을 우회할 수 있는 취약점입니다. 원격 공격자가 이를 악용하여 의도하지 않은 파일 접근 및 정보 유출이 가능합니다.
💡 쉬운 설명
PHP 웹서버의 MySQL 연결 기능에서 파일 접근 제한을 무시할 수 있는 보안 허점입니다. 공격자가 특수한 SQL 명령어를 사용하여 서버의 보호된 파일을 읽을 수 있습니다.
🇺🇸 원문 (English)
The (1) MySQL and (2) MySQLi extensions in PHP 4 before 4.4.8, and PHP 5 before 5.2.4, allow remote attackers to bypass safe_mode and open_basedir restrictions via MySQL LOCAL INFILE operations, as demonstrated by a query with LOAD DATA LOCAL INFILE.
📍 영향받는 시스템
PHP 4.0~4.4.7, PHP 5.0~5.2.3 (MySQL/MySQLi 확장)
⚔️ 공격 벡터
LOAD DATA LOCAL INFILE 쿼리를 포함한 MySQL 쿼리 실행으로 서버의 파일 접근 제한 우회
🛡️ 대응 방법
PHP를 4.4.8 이상 또는 5.2.4 이상으로 업그레이드하고, MySQL LOCAL INFILE 기능 비활성화
🔧 검증 코드
PHP 버전 5.2.4 이상, 4.4.8 이상인지 확인하고 MySQL의 local_infile 설정값이 OFF인지 확인
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+' && mysql -e 'SHOW VARIABLES LIKE "local_infile"' 2>/dev/null || echo 'MySQL not available'