# CVE-2026-45617: LiquidJS ReDoS in strip_html filter

Source: https://junglewise.ai/threats/cve-2026-45617-liquidjs-redos-in-strip-html-filter  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-17. Updated: 2026-06-20  
License: CC BY 4.0 with a link back

CVE-2026-45617 · Severity: high · CVSS 7.5 · Published 2026-06-17

LiquidJS, a popular template engine used for rendering web content, is vulnerable to a denial-of-service attack. By sending a specially crafted request containing unclosed HTML tags (like a script tag without a closing tag), an attacker can force the server to spend an excessive amount of time processing the data. This blocks the server's ability to handle other requests, potentially leading to a complete service outage and impacting business operations.

Technologies: [liquidjs (npm)](https://junglewise.ai/threats/technologies/liquidjs). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-45617 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-45617 being exploited in the wild.

**How severe is CVE-2026-45617?** High severity, with a CVSS score of 7.5, published 17 June 2026.

**Which products and versions are affected?** liquidjs (npm) < 10.26.0, SEMVER:introduced=0,fixed=10.26.0.

**Is there a fix for CVE-2026-45617?** Yes. liquidjs (npm): upgrade to 10.26.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-45617 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-45617?** Check whether you run liquidjs (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- liquidjs (npm): upgrade to 10.26.0 or later

  ```sh
  npm install liquidjs@10.26.0
  ```


## Technical details

The built-in `strip_html` filter in LiquidJS uses a regular expression with four lazy-quantified alternatives that exhibit quadratic backtracking (O(N²)) when processing inputs with many unclosed opener tokens (e.g., `<script`, `<style`, or `<!--`). Because the V8 regex engine performs exhaustive backtracking to find a matching closer that does not exist, the Node.js event loop becomes blocked, saturating CPU workers. A single unauthenticated request of approximately 350 KB can stall a process for 10 seconds, with the cost growing quadratically relative to input size. The vulnerability bypasses `memoryLimit` protections because the regex execution itself is unbounded. The issue was resolved in version 10.26.0 by replacing the regex with a linear single-pass scan.

## Affected products

- harttle liquidjs <= 10.25.7

## Identifiers

- CVE-2026-45617
- GHSA-r7g9-xpmj-5fcq

## Timeline

- 2026-05-14: patched: Version 10.26.0 released with fix
- 2026-05-24: advisory: GitHub Security Advisory published
- 2026-06-17: disclosed: CVE-2026-45617 published to NVD

## References

- [https://github.com/harttle/liquidjs/commit/3616a744b9abeb425c217b340a2397d46176afb8](https://github.com/harttle/liquidjs/commit/3616a744b9abeb425c217b340a2397d46176afb8)
- [https://github.com/harttle/liquidjs/releases/tag/v10.26.0](https://github.com/harttle/liquidjs/releases/tag/v10.26.0)
- [https://github.com/harttle/liquidjs/security/advisories/GHSA-r7g9-xpmj-5fcq](https://github.com/harttle/liquidjs/security/advisories/GHSA-r7g9-xpmj-5fcq)

## Related threats

- [LiquidJS ownPropertyOnly bypass via inherited array indices](https://junglewise.ai/threats/cve-2026-106120-liquidjs-is-a-shopify-github-pages-compatible-template-engine-in)
- [LiquidJS join filter uncontrolled resource consumption](https://junglewise.ai/threats/cve-2026-69222-liquidjs-uncontrolled-resource-consumption-in-join-filter)
- [LiquidJS infinite loop in strip_html filter](https://junglewise.ai/threats/cve-2026-61556-liquidjs-infinite-loop-in-strip-html-filter)
- [LiquidJS remote code execution via crafted templates](https://junglewise.ai/threats/cve-2026-45618-liquidjs-remote-code-execution-via-crafted-templates)
- [LiquidJS memory limit bypass in pop array filter](https://junglewise.ai/threats/cve-2026-55575-liquidjs-memory-limit-bypass-in-pop-array-filter)
