Vulnerability · Published Jul 8, 2026 · Assigned by GitHub_M

CVE-2026-55575LiquidJS: `pop` filter bypasses `memoryLimit` accounting that its array-filter siblings enforce

High 8.2

In plain English

A high-severity resource allocation without limits in liquidjs from harttle. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 42% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)8.2High
Exploit odds (30 days)0.5%top 57.8% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
npmliquidjs10.27.1GHSA-g357-x5c3-c72p

Affected products (as reported)

VendorProductVersions
harttle liquidjs < 10.27.1

Weakness: CWE-770 · Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

References