CVE-2026-45617 Details
Description
LiquidJS is a Shopify/GitHub Pages compatible template engine written in pure JavaScript. In versions 10.25.7 and below, the built-in strip_html filter uses a regex containing four flawed lazy-quantified alternatives, leading to ReDoS via quadratic backtracking. When the input contains many <script, <style, or <!-- opener tokens without matching closers, the V8 regex engine performs O(N²) backtracking, blocking the Node.js event loop. A single ~350 KB request ('<script'.repeat(50000)) stalls the process for ~10 seconds; cost grows quadratically with input size. The default memoryLimit: Infinity does not bound regex CPU, and even when configured strip_html only charges str.length to the limit — the regex itself runs unbounded. A single unauthenticated request containing crafted untrusted input can cause severe event-loop blocking and CPU amplification that saturates Node.js workers while bypassing memoryLimit protections. This issue has been fixed in version 10.26.0.
A denial-of-service vulnerability has been identified in LiquidJS versions through 10.25.7. The issue arises in the built-in strip_html filter, which uses a regular expression with four lazy-quantified alternatives. This regex can be exploited by input containing numerous unclosed `<script`, `<style`, or `<!--` tokens, causing the V8 regex engine to perform quadratic backtracking. As a result, the Node.js event loop is blocked, with the delay increasing proportionally to the size of the input. For example, a 350 KB payload can stall the process for approximately 10 seconds. This vulnerability bypasses the application's memory limit protections, leading to significant CPU consumption and event-loop blocking.
Users can update to LiquidJS version 10.26.0 or later, where this vulnerability has been fixed.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Jun 17, 2026CISA-ADP
Assessed Jun 18, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/harttle/liquidjs/security/advisories/GHSA-r7g9-xpmj-5fcq | CISA-ADP | AdvisoryExploitRemedyVendor |
| https://github.com/harttle/liquidjs/commit/3616a744b9abeb425c217b340a2397d46176afb8 | [email protected] | Source CodeVendor |
| https://github.com/harttle/liquidjs/releases/tag/v10.26.0 | [email protected] | Release NotesVendor |
| https://github.com/harttle/liquidjs/security/advisories/GHSA-r7g9-xpmj-5fcq | [email protected] | AdvisoryExploitRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-1333 | Inefficient Regular Expression Complexity | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| LiquidJS | <= 10.25.7 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 18, 2026 | CVE Modified | CISA-ADP |
| Jun 17, 2026 | New CVE Received | [email protected] |
Volerion