乐于分享
好东西不私藏

【紧急安全预警】Liquidjs模板引擎曝CVSS 10分满分漏洞,数百万项目面临远程代码执行风险

【紧急安全预警】Liquidjs模板引擎曝CVSS 10分满分漏洞,数百万项目面临远程代码执行风险

近日,安全研究人员披露了一个存在于Liquidjs模板引擎中的最高严重级别远程代码执行漏洞(CVE-2026-45618)。该漏洞CVSS评分高达10.0分(满分),攻击者利用此漏洞可完全接管目标服务器。由于Liquidjs在Node.js生态中应用极为广泛,数百万下游项目因此面临严重威胁。

漏洞核心信息速览

漏洞背景:无处不在的Liquidjs

Liquidjs是JavaScript开发者将Shopify、Jekyll或GitHub Pages模板移植到Node.js生态的核心工具。作为全球最受欢迎的模板引擎之一,该软件包每月下载量超过730万次,潜在的攻击面极为庞大。

该库广泛应用于以下场景:

  • Node.js Web应用程序与CMS平台

  • 电子邮件模板渲染系统

  • 静态站点生成器(如Eleventy等)

  • Shopify应用开发相关项目

  • 任何允许用户提交或处理Liquid模板内容的服务

漏洞机制深度解析

技术根源:过滤器评估中的致命缺陷

该漏洞(CVE-2026-45618)之所以获得CVSS 10.0分满分评级,根本原因在于攻击者攻破易受攻击主机的难度极低。

从技术层面分析,问题源于Liquidjs过滤器(filter)评估过程中的输入验证缺陷:

1.执行上下文泄露:引擎在处理特定的过滤器表达式时,会无意中返回内部的JavaScript执行上下文

2.恶意函数调用:通过携带受控参数的valueOf等内置方法调用,攻击者可以逐步突破模板沙箱的限制

系统接管的技术路径

利用该漏洞,攻击者可以实现以下攻击链:

第一步:属性覆盖

攻击者通过原型链操纵技术,覆盖toString、valueOf等关键内部属性

第二步:控制解析流程

修改这些内部查找函数后,攻击者完全控制了流向解析器组件的内容

第三步:获取Function构造函数

最终,攻击者可以直接提取到JavaScript的Function构造函数引用

第四步:任意命令执行

获取Function引用后,攻击者可在托管平台上执行任意系统命令

概念验证(PoC)已确认

概念验证测试已明确证明,攻击者可以轻松实现:

  • 文件读取:如读取服务器上的/etc/passwd等敏感文件

  • 命令执行:通过child_process.execSync执行任意系统命令

为何是满分10.0?

CVSS 10.0分是评分体系中的最高威胁等级,在漏洞历史上极为罕见:

简单来说:攻击者从互联网发起的任何请求,都可能导致服务器被完全控制。

受影响范围

直接受影响

  • 所有使用Liquidjs版本≤10.25.7的Node.js项目

间接影响

  • 通过依赖传递引入Liquidjs的各类框架和服务

  • 任何允许用户提交或控制Liquid模板内容的应用

高风险场景

如果你的应用存在以下场景,风险极高:

  • 用户可上传或编辑模板(如主题定制、模板在线编辑功能)

  • 多租户SaaS平台(租户间可能相互攻击)

  • 面向互联网的CMS/建站系统

  • 邮件模板渲染服务(攻击者可能控制邮件内容)

应急处置建议

安全团队必须立即行动,以下是最低限度的处置流程:

第一步:盘点排查

检查你的代码库是否使用了10.25.7或以下的易受攻击版本:

# 查看当前版本

npm list liquidjs

# 或全局搜索依赖

npm ls liquidjs --depth=0

第二步:立即升级

立即将软件安装更新为已修复的10.27.0版本(注意:部分公告提及10.26.0,为确保安全,建议升级至最新版10.27.0):

npm install liquidjs@latest

# 或

yarn add liquidjs@latest

# 或

pnpm update liquidjs@latest

升级后再次确认版本:

npm list liquidjs

# 应显示为10.27.0或更高

第三步:无法立即升级的临时措施

如因业务原因无法立即升级,建议采取以下缓解措施:

1.阻断不受信任的模板输入

  • 禁止用户提交的模板内容直接传入Liquidjs渲染

  • 对模板来源实施严格白名单控制

2.部署Web应用防火墙(WAF)

  • 添加针对valueOf、constructor、prototype等关键字的检测规则

  • 监控可疑的模板表达式请求

3.实施最小权限原则

  • 限制Node.js进程的运行权限(避免以root运行)

  • 使用容器隔离运行模板渲染服务

4.加强监控与告警

  • 重点关注包含模板语法异常的请求

  • 监控异常的进程创建行为

近期Liquidjs漏洞密集曝光提醒

CVE-2026-45618并非Liquidjs近期唯一的漏洞。该模板引擎自2026年以来已曝光多个安全缺陷,说明其安全性正受到高度关注:

建议将所有使用Liquidjs的项目统一升级至10.27.0+,一次性修复上述所有漏洞。

结语

CVSS 10.0分的满分评级,意味着这是当前已知最危险的漏洞类型之一——利用门槛极低、危害性极大、影响面极广。Liquidjs每月超过730万次的下载量,意味着全球数以百万计的Node.js项目暴露在此风险之下。

攻击者已经拿到了通往你服务器的钥匙,只是还不知道从哪里进门。今天不修复,明天可能就是入侵报告。

紧急行动清单:

相关学习资料