🔍 CVE-2026-41311

7.5
CVSS Score
HIGH
2026-05-09
2026-07-24 21:10
✅ 완료

🇰🇷 한글 설명

LiquidJS 템플릿 엔진의 {% layout %} / {% block %}에서 순환 참조가 발생하면 무한 재귀 루프로 메모리 소진(약 4GB)되어 Node.js 프로세스가 FATAL ERROR로 충돌합니다. 10.25.7 이전 버전에서 템플릿 제출 권한이 있는 사용자가 서비스 거부 공격을 수행할 수 있습니다.

💡 쉬운 설명

LiquidJS 템플릿을 잘못 작성하면 프로그램이 무한 반복되면서 메모리를 전부 소모해서 서비스가 멈춥니다. 누구나 템플릿을 제출할 수 있다면 이 공격을 통해 서비스를 마비시킬 수 있습니다.

🇺🇸 원문 (English)

LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to version 10.25.7, a circular block reference in {% layout %} / {% block %} causes an infinite recursive loop, consuming all available memory (~4GB) and crashing the Node.js process with FATAL ERROR: JavaScript heap out of memory. This allows any user who can submit a Liquid template to perform a Denial of Service attack. This issue has been patched in version 10.25.7.

📍 영향받는 시스템

LiquidJS 버전 10.25.7 미만

⚔️ 공격 벡터

순환 참조가 포함된 {% layout %} / {% block %} 구조의 Liquid 템플릿 제출

🛡️ 대응 방법

LiquidJS를 버전 10.25.7 이상으로 업그레이드

🔧 검증 코드

출력된 버전 번호가 10.25.7 이상이면 패치 완료, 그 이하이면 취약 상태입니다.

Shell / Script
npm list liquidjs 2>/dev/null | grep liquidjs | awk '{print $2}'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H