🇰🇷 한글 설명
Smarty 2.6.19 이전 버전의 modifier.regex_replace.php 플러그인에서 '\0' 문자를 포함한 검색 문자열을 통해 템플릿 작성자가 임의의 PHP 함수를 호출할 수 있는 취약점이다. Serendipity(S9Y)를 포함한 여러 제품에서 이 취약점이 사용되어 원격 코드 실행으로 이어질 수 있다.
💡 쉬운 설명
웹사이트 템플릿을 만드는 Smarty라는 도구에서 특수 문자('\0')를 이용해 악의적인 PHP 코드를 실행할 수 있는 보안 구멍이다. 이를 통해 공격자가 웹서버를 완전히 제어할 수 있다.
🇺🇸 원문 (English)
The modifier.regex_replace.php plugin in Smarty before 2.6.19, as used by Serendipity (S9Y) and other products, allows attackers to call arbitrary PHP functions via templates, related to a '\0' character in a search string.
📍 영향받는 시스템
Smarty 2.6.19 이전, Serendipity 및 Smarty를 템플릿 엔진으로 사용하는 모든 애플리케이션
⚔️ 공격 벡터
템플릿 파일에서 regex_replace 수정자(modifier)를 악용하여 '\0' 문자로 함수 인자를 우회하고 임의 PHP 함수 실행
🛡️ 대응 방법
Smarty를 2.6.19 이상으로 업그레이드하고 템플릿 입력 검증 강화
🔧 검증 코드
결과에서 regex_replace를 사용하는 파일들이 표시되면 해당 파일의 Smarty 버전을 확인하여 2.6.19 이상인지 검증
find / -name '*.php' -type f 2>/dev/null | xargs grep -l 'regex_replace' | head -5