🇰🇷 한글 설명
Python Liquid 2.2.1 미만 버전에서 잘못된 {% case %} 태그를 사용할 경우 무한 루프에 빠지는 취약점이 발견되었습니다. 공격자가 종료 태그가 없는 특수하게 조작된 템플릿을 제공하면 파싱 과정에서 시스템이 멈추는 서비스 거부(DoS) 공격이 가능합니다.
💡 쉬운 설명
템플릿 엔진이 잘못된 명령어를 읽을 때 끝을 찾지 못하고 계속 맴도는 현상이 발생합니다. 이를 이용해 서버를 멈추게 만들어 서비스를 중단시킬 수 있습니다.
🇺🇸 원문 (English)
Python Liquid is a Python engine for the Liquid template language. Prior to 2.2.1, given a malformed {% case %} tag without an associated {% when %} or {% else %} block and no terminating {% endcase %} tag, Python Liquid hangs in an infinite loop at parse time because liquid.TokenStream.eof did not give the EOF token matching kind and value fields, allowing malicious template authors to craft templates for a denial of service attack. This issue is fixed in version 2.2.1.
📍 영향받는 시스템
Python Liquid versions prior to 2.2.1
⚔️ 공격 벡터
악의적으로 조작된 Liquid 템플릿을 엔진에 입력하여 파싱 단계에서 무한 루프 유도
🛡️ 대응 방법
Python Liquid 라이브러리를 2.2.1 버전 이상으로 업데이트
🔧 검증 코드
출력된 Version 값이 2.2.1 미만이면 취약한 상태입니다.
pip show liquid | grep Version