近日,安全研究人员披露了一个存在于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?

简单来说:攻击者从互联网发起的任何请求,都可能导致服务器被完全控制。
受影响范围
直接受影响
所有使用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漏洞密集曝光提醒

建议将所有使用Liquidjs的项目统一升级至10.27.0+,一次性修复上述所有漏洞。
结语
CVSS 10.0分的满分评级,意味着这是当前已知最危险的漏洞类型之一——利用门槛极低、危害性极大、影响面极广。Liquidjs每月超过730万次的下载量,意味着全球数以百万计的Node.js项目暴露在此风险之下。
攻击者已经拿到了通往你服务器的钥匙,只是还不知道从哪里进门。今天不修复,明天可能就是入侵报告。
紧急行动清单:

夜雨聆风