🇰🇷 한글 설명
PHP 5.2.5 이하 버전에서 dgettext, dcgettext, gettext, dngettext, ngettext, stream_wrapper_register 등 여러 함수의 매개변수에 긴 문자열을 입력하면 응용 프로그램 충돌을 초래할 수 있습니다. 멀티스레드 웹 서버 환경에서는 대부분 서비스 거부(DoS) 수준의 영향만 미칩니다.
💡 쉬운 설명
오래된 PHP 버전에서 특정 함수들이 매우 긴 텍스트를 처리하지 못해 프로그램이 중단되는 문제입니다. 웹사이트를 잠시 이용 불가능하게 할 수 있지만 심각도는 낮습니다.
🇺🇸 원문 (English)
PHP 5.2.5 and earlier allows context-dependent attackers to cause a denial of service (application crash) via a long string in (1) the domain parameter to the dgettext function, the message parameter to the (2) dcgettext or (3) gettext function, the msgid1 parameter to the (4) dngettext or (5) ngettext function, or (6) the classname parameter to the stream_wrapper_register function. 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.5 이하 모든 버전
⚔️ 공격 벡터
dgettext, dcgettext, gettext, dngettext, ngettext, stream_wrapper_register 함수에 의도적으로 긴 문자열을 입력하여 DoS 공격 수행
🛡️ 대응 방법
PHP를 5.2.6 이상으로 업그레이드
🔧 검증 코드
5.2.6 이상이면 안전하고, 5.2.5 이하면 취약합니다.
php -v | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'