CVE-2026-33285LiquidJS 是一个兼容 Shopify/GitHub Pages 的纯 JavaScript 模板引擎。在 10.25.1 版本之前,其 `memoryLimit` 安全机制存在严重缺陷,允许通过反向范围表达式(如 `(100000000..1)`)完全绕过。攻击者利用该漏洞可强制分配无限内存,若结合字符串扁平化操作(如 `replace` 过滤器),将触发 V8 致命错误导致 Node.js 进程崩溃,从而实现无需认证的远程拒绝服务攻击。
该漏洞源于 LiquidJS 的 `memoryLimit` 安全机制未能正确处理反向范围表达式。在受影响版本中,系统仅对正向范围进行资源限制,而攻击者构造类似 `(100000000..1)` 的反向范围时,可成功绕过该限制,强制 Node.js 进程分配超出预期的内存空间。当这种未受限制的内存分配与 `replace` 等字符串扁平化过滤器结合使用时,V8 引擎无法处理巨大的内存请求,从而抛出致命错误(Fatal Error)并终止进程。由于攻击向量为网络(AV:N),且无需用户交互(UI:N)和权限(PR:N),远程攻击者仅需发送一个包含恶意模版语法的 HTTP 请求,即可导致目标服务彻底瘫痪,对业务连续性造成严重影响。