🇰🇷 한글 설명
phpBB 2.0.17 이전 버전에서 register_long_arrays 지시문이 비활성화되면 HTTP_* 변수가 정의되지 않아 공격자가 전역 변수를 수정하고 보안 메커니즘을 우회할 수 있는 취약점입니다. PHP의 슈퍼글로벌 변수 처리 방식의 문제로 인해 발생합니다.
💡 쉬운 설명
phpBB 게시판의 특정 설정에서 로그인 정보나 권한을 확인하는 보안 검사를 건너뛸 수 있는 방법이 존재합니다. 공격자는 이를 이용해 관리자 계정으로 위장하거나 다른 사용자의 데이터에 접근할 수 있습니다.
🇺🇸 원문 (English)
phpBB 2.0.17 and earlier, when the register_long_arrays directive is disabled, allows remote attackers to modify global variables and bypass security mechanisms because PHP does not define the associated HTTP_* variables.
📍 영향받는 시스템
phpBB 2.0.17 및 이전 버전 (특히 PHP register_long_arrays = Off 설정 환경)
⚔️ 공격 벡터
GET/POST 요청을 통해 GLOBALS 배열에 직접 변수를 주입하여 인증/권한 검증 로직 우회
🛡️ 대응 방법
phpBB를 2.0.18 이상으로 업그레이드하거나 register_long_arrays를 On으로 설정하여 $_GET, $_POST 변수 자동 등록 활성화
🔧 검증 코드
register_long_arrays = On이면 안전, Off이고 phpBB 2.0.17 이하면 취약함. 미발견 시 PHP 버전 확인 후 php -r 'phpinfo();' 로 설정 확인
grep -i 'register_long_arrays' /etc/php.ini /etc/php/*/apache2/php.ini /etc/php/*/cli/php.ini /etc/php/*/fpm/php.ini 2>/dev/null || echo 'PHP 설정 파일 미발견'