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.
Published: 2026-07-08
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

LiquidJS’s pop array filter clones its input array using, creating an O(N) duplicate that bypasses the configured memory budget. An attacker who can influence the array passed to {{ huge_array | pop }} can trigger the filter to allocate a large internal array, exhausting server memory and causing the rendering process to crash or behave erratically. The vulnerability maps to CWE‑770 – Excessive Resource Consumption, resulting in a memory exhaustion condition that compromises availability, not confidentiality or integrity.

Affected Systems

All deployments of Harttle’s LiquidJS template engine running a version older than 10.27.1 are affected, regardless of platform, including Shopify or GitHub Pages. Version 10.27.1 and later contain the fix that enforces proper memory accounting for the pop filter.

Risk and Exploitability

The CVSS score of 8.2 signals high severity, while an EPSS score of < 1% indicates a very low but non‑zero exploitation probability. The vulnerability is not listed in the CISA KE an attacker needs to supply a template that contains a large array, a scenario common in web applications and content management systems that render user‑supplied templates. Exploitation leads to denial‑of‑service by exhausting memory unresponsiveness.

Generated by OpenCVE AI on July 26, 2026 at 17:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade LiquidJS to version 10.27.1 or later to restore proper memory accounting.
  • If upgrading is not immediately feasible, from the engine configuration and sanitize or limit any array inputs that could be controlled by users.
  • Implement runtime monitoring to detect abnormal memory consumption during template rendering and trigger alerts or graceful shutdowns to prevent complete service disruption.

Generated by OpenCVE AI on July 26, 2026 at 17:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-g357-x5c3-c72p LiquidJS: `pop` filter bypasses `memoryLimit` accounting that its array-filter siblings enforce
History

Thu, 09 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 08 Jul 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Harttle
Harttle liquidjs
Vendors & Products Harttle
Harttle liquidjs

Wed, 08 Jul 2026 19:45:00 +0000

Type Values Removed Values Added
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.
Title LiquidJS: `pop` filter bypasses `memoryLimit` accounting that its array-filter siblings enforce
Weaknesses CWE-770
References
Metrics cvssV4_0

{'score': 8.2, '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'}


Subscriptions

Harttle Liquidjs
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-09T14:00:04.585Z

Reserved: 2026-06-16T23:11:20.214Z

Link: CVE-2026-55575

cve-icon Vulnrichment

Updated: 2026-07-09T13:59:56.574Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-26T17:30:17Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling