漏洞速览:一场波及百万级项目的安全风暴
近日,安全研究人员披露了一个影响 Liquidjs 模板引擎 的最高危远程代码执行漏洞(RCE)。该漏洞编号为 CVE-2026-45618,CVSS 风险评分高达 10.0(满分),意味着 攻击者可极其轻松地完全控制受影响的服务器。
Liquidjs 是 JavaScript 开发者将 Shopify、Jekyll 或 GitHub Pages 模板迁移至 Node.js 环境的核心工具,每月下载量超过 730 万次,其下游项目数量极为庞大。一旦被利用,攻击面将覆盖大量 Web 应用、自动化构建服务和内容管理系统。

🔍 漏洞原理:一个小小过滤器如何引发“核爆”
该漏洞的根源在于 Liquidjs 在处理 过滤器表达式 时存在输入验证缺陷。具体来说,引擎错误地执行了 valueOf 过滤器表达式,意外返回了内部执行上下文。
🧩 关键点:攻击者可借此调用恶意函数,并 完全控制函数参数。
通过构造特定的模板输入,攻击者能够 覆盖引擎的关键内部属性,例如:
this.loader.lookup
this.readFile
一旦这些查找函数被篡改,解析组件所读取的所有数据都将被攻击者操控。最终,攻击者可以 直接获取 JavaScript 原生的 Function 构造函数引用,从而在主机上执行任意系统命令。
后果有多严重?读取 /etc/passwd 仅需几秒
概念验证测试显示,利用该漏洞,攻击者可以轻松实现:
- 读取服务器上的 任意敏感文件(如 /etc/passwd)
- 执行 任意系统命令,安装勒索软件、植入后门或横向渗透内网
- 完全 接管宿主服务器,导致业务中断、数据泄露
🚨 一句话总结:只要你的项目使用了 Liquidjs 且版本未修复,攻击者就能像管理员一样操作你的服务器。
🛡️ 应急行动:立即检查并升级!
好消息是,Liquidjs 维护团队已经发布了 安全修复版本。
所有开发者及运维人员必须立即行动:
第一步:确认受影响版本
- 漏洞影响范围:Liquidjs 版本 ≤ 10.25.7
- 如果你的
package.json 或 lock 文件中显示上述版本,则处于高风险状态。
第二步:升级至安全版本
运行以下命令,更新到 已修复版本 10.27.0 或更高:
bash
npm install liquidjs@10.27.0
或使用 yarn:
bash
yarn add liquidjs@10.27.0
✅ 第三步:重启并验证
升级后务必重启相关服务,并执行简单的模板渲染测试,确认无兼容性问题。
安全建议(开发团队必看)
- 立即扫描:检查所有 Node.js 项目是否引用了 Liquidjs 脆弱版本。
- 阻断攻击路径:如无法立即升级,可考虑临时限制用户提交的模板内容(但建议直接升级)。
- 持续关注:关注 Liquidjs 官方 GitHub 仓库及 CVE 数据库,获取后续安全更新。
资讯来源:基于安全研究机构公开披露的 CVE-2026-45618 漏洞通告及 Liquidjs 官方安全公告编译整理。
|