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.
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
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | liquidjs | 10.27.1 | GHSA-g357-x5c3-c72p |
Affected products (as reported)
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
- https://github.com/harttle/liquidjs/security/advisories/GHSA-g357-x5c3-c72p x_refsource_CONFIRM
- https://github.com/harttle/liquidjs/pull/907 x_refsource_MISC
- https://github.com/harttle/liquidjs/commit/8a0c74a7fcb1671aa1dcb71ec82ba0602dc90d04 x_refsource_MISC
- https://github.com/harttle/liquidjs/releases/tag/v10.27.1 x_refsource_MISC