🇰🇷 한글 설명
PHP 5.2.4 이전 버전의 setlocale 함수가 과도하게 긴 로케일 파라미터를 처리하지 못해 애플리케이션 충돌을 유발하는 서비스 거부(DoS) 취약점입니다. 멀티스레드 환경에서는 일반적으로 영향이 제한적이며, 코드 실행으로 악용될 가능성은 낮습니다.
💡 쉬운 설명
PHP 프로그램이 너무 긴 언어 설정 값을 받으면 프로그램이 멈추거나 종료될 수 있습니다. 웹 서버가 여러 요청을 동시에 처리하면 전체 서비스가 중단되지 않을 수 있습니다.
🇺🇸 원문 (English)
The setlocale function in PHP before 5.2.4 allows context-dependent attackers to cause a denial of service (application crash) via a long string in the locale parameter. NOTE: this might not be a vulnerability in most web server environments that support multiple threads, unless this issue can be demonstrated for code execution.
📍 영향받는 시스템
PHP 5.2.4 이전 버전
⚔️ 공격 벡터
setlocale() 함수 호출 시 매개변수에 매우 긴 문자열을 전달하여 메모리 오버플로우 또는 버퍼 오버플로우 유발
🛡️ 대응 방법
PHP를 5.2.4 이상의 최신 패치 버전으로 업그레이드
🔧 검증 코드
표시된 PHP 버전이 5.2.4 이상이면 취약점이 패치된 상태입니다.
php -v | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'