🇰🇷 한글 설명
PHP용 템플릿 엔진인 Twig의 1.0.0 버전부터 3.27.0 미만 버전에서 발생하는 보안 취약점입니다. Twig
Markup 클래스의 하위 클래스가 샌드박스 템플릿에 전달될 경우, 보안 정책을 우회하여 해당 클래스의 모든 공개 메서드가 호출될 수 있습니다.
💡 쉬운 설명
안전하다고 표시된 특정 데이터 형식을 사용할 때, 원래는 금지된 명령어를 실행할 수 있는 보안 구멍이 생기는 문제입니다. 공격자가 템플릿을 통해 시스템의 허용되지 않은 기능을 마음대로 호출할 수 있습니다.
🇺🇸 원문 (English)
Twig is a template language for PHP. From version 1.0.0 to before version 3.27.0, SecurityPolicy::checkMethodAllowed() unconditionally whitelists all method calls on instances of Twig\Markup. Twig\Markup is not final, so subclasses inherit the bypass. An application that passes an object of a Markup-derived class into a sandboxed template (typically to mark a chunk of HTML as safe) inadvertently exposes every public method of that subclass to template authors, regardless of the configured allowedMethods list. This issue has been patched in version 3.27.0.
📍 영향받는 시스템
Twig version 1.0.0 to < 3.27.0
⚔️ 공격 벡터
샌드박스 환경의 템플릿 작성자가 Markup 하위 클래스의 공개 메서드를 호출하여 보안 정책을 우회함
🛡️ 대응 방법
Twig를 버전 3.27.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.27.0 미만인지 확인하십시오.
composer show twig/twig | grep 'versions'