🇰🇷 한글 설명
PHP의 ext/intl 확장 프로그램에서 MessageFormatter::formatMessage 함수가 로케일 길이를 제대로 검증하지 않아, 공격자가 악의적으로 긴 로케일 값을 전달하여 애플리케이션 크래시(DoS) 또는 기타 미지정 영향을 유발할 수 있는 취약점.
💡 쉬운 설명
PHP의 메시지 형식 함수에 매우 긴 언어/지역 정보를 보내면 프로그램이 멈춘다. 원격 공격자가 웹을 통해 이를 악용할 수 있다.
🇺🇸 원문 (English)
ext/intl/msgformat/msgformat_format.c in PHP before 5.6.26 and 7.x before 7.0.11 does not properly restrict the locale length provided to the Locale class in the ICU library, which allows remote attackers to cause a denial of service (application crash) or possibly have unspecified other impact via a MessageFormatter::formatMessage call with a long first argument.
📍 영향받는 시스템
PHP 5.6.26 미만, PHP 7.0.11 미만 (ICU 라이브러리 통합된 버전)
⚔️ 공격 벡터
원격: HTTP 요청으로 MessageFormatter::formatMessage에 과도하게 긴 로케일 문자열 전달
🛡️ 대응 방법
PHP를 5.6.26 이상 또는 7.0.11 이상으로 즉시 업그레이드
🔧 검증 코드
버전이 5.6.26 미만 또는 7.0.11 미만이면 취약함. 7.1 이상은 자동으로 안전.
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+' || dpkg -l | grep -i php | head -5