🇰🇷 한글 설명
PHP용 템플릿 언어인 Twig의 twig/intl-extra 라이브러리에서 발생하는 문제입니다. 3.26.0 미만 버전에서는 템플릿 제어 필터 인자를 키로 사용하여 IntlDateFormatter 및 NumberFormatter 인스턴스를 메모리에 저장하므로, 템플릿을 통해 다량의 ICU 포맷터 객체를 할당하여 메모리 점유를 지속시킬 수 있습니다.
💡 쉬운 설명
템플릿을 조작하여 컴퓨터의 메모리를 과도하게 사용하게 만드는 취약점입니다. 공격자가 이 기능을 악용하면 서버의 메모리가 가득 차서 서비스가 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
Twig is a template language for PHP. Prior to 3.26.0, twig/intl-extra memoises IntlDateFormatter and NumberFormatter instances in arrays keyed by template-controlled filter arguments such as locale, pattern, and attrs, allowing a template to allocate many ICU formatter objects that remain pinned for the lifetime of the Twig\Environment. This issue is fixed in version 3.26.0.
📍 영향받는 시스템
Twig (twig/intl-extra) 3.26.0 미만 버전
⚔️ 공격 벡터
템플릿 내의 locale, pattern, attrs 등 필터 인자를 조작하여 대량의 객체 생성 유도
🛡️ 대응 방법
Twig 버전을 3.26.0 이상으로 업데이트
🔧 검증 코드
출력된 버전 정보가 3.26.0 미만인지 확인합니다.
composer show twig/intl-extra | grep 'versions'