CVE-2026-55575 LiquidJS: `pop` filter bypasses `memoryLimit` accounting that its array-filter siblings enforce
Attackers can cause denial of service in LiquidJS by using the pop filter to bypass memory limits, leading to excessive resource consumption.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-55575?
CVE-2026-55575 is a high-severity denial of service vulnerability in harttle liquidjs, published on 8 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to 10.27.1, the pop array filter at src/filters/array.ts allocated a full clone of its input array via [...toArray(v)] without calling this.context.memoryLimit.use(...), allowing a template render such as {{ huge_array | pop }} to allocate an O(N) clone of an attacker-influenced array outside the configured memoryLimit budget. This issue is fixed in version 10.27.1.
Weakness: CWE-770
Which versions are affected by CVE-2026-55575?
2 open source packages ship an affected version, including liquidjs.
| Package | Affected | Fixed in |
|---|---|---|
liquidjs npm | All versions | 10.27.1 |
liquidjs npm | All versions | 10.27.1 |
How do I fix CVE-2026-55575?
Upgrade liquidjs to 10.27.1 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-55575 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-55575 exists.
Sources
Also known as GHSA-g357-x5c3-c72p, MINI-5pp5-2rr8-ghvq, MINI-7gfh-9r6g-92r4, MINI-j8w3-g69w-4whc.