🇰🇷 한글 설명
Smarty 템플릿 엔진의 특정 버전에서 코드 주입 취약점이 발견되었습니다. extends:/를 사용한 템플릿 상속 과정에서 nocache_hash 값이 복구되지 않아 발생하는 문제로, 공격자가 조작된 SmartyNocache 마커를 포함한 데이터를 전달하면 임의의 PHP 코드가 실행될 수 있습니다.
💡 쉬운 설명
웹사이트의 화면을 만드는 도구인 Smarty에서 보안 허점이 발견되었습니다. 해커가 특수한 데이터를 보내면 웹 서버가 해커의 명령어를 실행하게 되어 서버를 장악할 수 있습니다.
🇺🇸 원문 (English)
Smarty before 4.5.8 and 5.x before 5.8.5 contains a code injection vulnerability where the top-level nocache_hash is never restored during extends:/multi-component template inheritance, leaving it null. Attackers can supply assigned data containing a forged SmartyNocache marker that is copied verbatim into the regenerated PHP cache file, executing arbitrary PHP on include for remote code execution.
📍 영향받는 시스템
Smarty 4.5.8 미만 버전 및 5.x 5.8.5 미만 버전
⚔️ 공격 벡터
조작된 SmartyNocache 마커가 포함된 데이터를 공급하여 PHP 캐시 파일에 임의의 코드를 삽입하는 방식
🛡️ 대응 방법
Smarty를 최신 보안 패치 버전(4.5.8 이상 또는 5.8.5 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 4.5.8 미만이거나 5.8.5 미만인 경우 취약한 상태입니다.
composer show smarty/smarty | grep 'versions'