CVE-2026-30952 是 liquidjs 中的路径遍历漏洞。该漏洞允许攻击者通过控制模板内容或指定 Liquid 变量中的文件路径来访问服务器上的任意文件,从而构成安全风险。受影响的版本包括 liquidjs 10.25.0 之前的版本。建议升级至 10.25.0 版本以解决此问题。
该漏洞的根本原因是 liquidjs 允许 require.resolve() 作为回退机制,但没有限制其解析的目录。攻击者可以利用 layout、render 和 include 标签,通过绝对路径访问任意文件。如果启用了 dynamicPartials: true(默认设置),攻击者可以通过 Liquid 变量指定文件路径,从而绕过安全限制。成功利用此漏洞可能导致敏感信息泄露,甚至可能允许攻击者执行恶意代码。
该漏洞已公开披露,并且存在潜在的利用风险。目前尚未观察到大规模的利用活动,但由于漏洞的易利用性,建议尽快采取缓解措施。该漏洞的利用可能类似于其他文件包含漏洞,攻击者可能尝试读取配置文件、源代码或其他敏感数据。
Applications built on Node.js that utilize liquidjs for templating, particularly those with default configurations enabling dynamicPartials: true or allowing user-controlled template content, are at risk. Shared hosting environments where multiple applications share the same server and file system are also particularly vulnerable, as a compromise in one application could potentially lead to access to files belonging to others.
• nodejs / server:
ps aux | grep liquidjs
find / -name "liquidjs" -type d 2>/dev/null• generic web:
curl -I 'http://your-application.com/templates/include?file=../../../../etc/passwd' # Attempt to access sensitive files
grep -r 'require.resolve' /path/to/your/application/node_modules/liquidjs/disclosure
漏洞利用状态
EPSS
0.02% (5% 百分位)
CISA SSVC
解决此漏洞的关键是限制 require.resolve() 解析的目录。升级至 liquidjs 10.25.0 或更高版本是推荐的修复方法。如果无法立即升级,可以考虑使用 Web 应用防火墙 (WAF) 或代理服务器来过滤恶意请求,阻止攻击者访问敏感文件。此外,应严格控制模板内容,避免允许用户上传或修改模板,以降低攻击风险。升级后,请验证配置并测试应用程序,确保漏洞已成功修复。
Actualice la versión de liquidjs a la 10.25.0 o superior. Esto corrige la vulnerabilidad de path traversal que permite el acceso a archivos arbitrarios.
漏洞分析和关键警报直接发送到您的邮箱。
CVE-2026-30952 是 liquidjs 框架中的路径遍历漏洞,允许攻击者通过控制模板内容或指定文件路径来访问服务器上的任意文件。
如果您正在使用 liquidjs 10.25.0 之前的版本,则可能受到此漏洞的影响。请尽快升级至最新版本。
升级至 liquidjs 10.25.0 或更高版本是推荐的修复方法。如果无法升级,请考虑使用 WAF 或代理服务器来过滤恶意请求。
目前尚未观察到大规模的利用活动,但由于漏洞的易利用性,建议尽快采取缓解措施。
请访问 liquidjs GitHub 仓库 [#855](https://github.com/harttle/liquidjs/pull/855) 获取更多信息。