🇰🇷 한글 설명
LiquidJS 10.25.1 미만 버전에서 memoryLimit 보안 메커니즘을 우회할 수 있는 취약점이 발견되었습니다. 공격자가 역범위 표현식을 사용하여 무제한 메모리를 할당하고 문자열 평탄화 작업을 결합하면 V8 치명적 오류를 유발하여 Node.js 프로세스를 중단시킬 수 있습니다.
💡 쉬운 설명
템플릿 엔진의 메모리 제한 기능을 속여서 컴퓨터의 메모리를 과도하게 사용하게 만드는 공격입니다. 이로 인해 서버가 갑자기 멈추거나 꺼져서 서비스를 이용할 수 없게 됩니다.
🇺🇸 원문 (English)
LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to version 10.25.1, LiquidJS's `memoryLimit` security mechanism can be completely bypassed by using reverse range expressions (e.g., `(100000000..1)`), allowing an attacker to allocate unlimited memory. Combined with a string flattening operation (e.g., `replace` filter), this causes a V8 Fatal error that crashes the Node.js process, resulting in complete denial of service from a single HTTP request. Version 10.25.1 patches the issue.
📍 영향받는 시스템
LiquidJS versions prior to 10.25.1
⚔️ 공격 벡터
역범위 표현식(예: (100000000..1))과 문자열 필터를 결합한 특수 템플릿 요청
🛡️ 대응 방법
LiquidJS를 10.25.1 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 10.25.1보다 낮으면 취약한 상태입니다.
npm list liquidjs | grep -E 'liquidjs@'