🇰🇷 한글 설명
Twig 3.26.0 미만 버전에서 템플릿 언어의 특정 구문이 보안 정책을 거치지 않고 PHP 문자열 강제 변환을 유발하는 취약점이 발견되었습니다. 이를 통해 샌드박스 환경의 템플릿 작성자가 렌더링 컨텍스트 내의 객체에 대해 __toString() 메서드를 호출할 수 있습니다. 이 문제는 3.26.0 버전에서 수정되었습니다.
💡 쉬운 설명
웹사이트의 템플릿을 만드는 도구인 Twig에서 보안 규칙을 우회하는 문제가 발견되었습니다. 공격자가 제한된 환경을 벗어나 숨겨진 데이터나 객체의 정보를 몰래 읽어낼 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
Twig is a template language for PHP. Prior to 3.26.0, several Twig language constructs trigger PHP string coercion on a Stringable operand without consulting SecurityPolicy::checkMethodAllowed(), allowing a sandboxed template author to invoke __toString() on objects reachable in the render context through conditional expressions, comparison operators, tests, template-loading tags, dynamic attribute names, spread arguments, the do tag, and the .. range operator. This issue is fixed in version 3.26.0.
📍 영향받는 시스템
Twig versions prior to 3.26.0
⚔️ 공격 벡터
샌드박스 내 템플릿 작성자가 조건문, 비교 연산자 등을 사용하여 렌더링 컨텍스트 내 객체의 __toString() 메서드를 호출
🛡️ 대응 방법
Twig 버전을 3.26.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 3.26.0 미만인지 확인하여 취약 여부를 판단합니다.
composer show twig/twig | grep 'versions'