Description
LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to 10.27.2, enabling ownPropertyOnly does not consistently restrict inherited array indices because negative indexing, .first, .last, the first filter, the last filter, join, reverse, slice, compact, and for-loop iteration can read prototype-provided elements outside readJSProperty(). An attacker who can influence prototype state or inherited array-index data and cause templates to render affected operations can disclose values that ownPropertyOnly is expected to hide. Direct positive indexing and ordinary object prototype reads are blocked, but the alternate array paths remain affected. This issue is fixed in 10.27.2.
Published: 2026-10-06
Score: 6 Medium
EPSS: n/a
KEV: No
Impact: Information Disclosure
Action: Patch
AI Analysis

Impact

This vulnerability allows developers running LiquidJS with the ownPropertyOnly option enabled to read inherited array index values that should be excluded. By manipulating the prototype chain or providing array objects that contain prototype properties, an attacker can cause template rendering to disclose sensitive data stored on prototypes. The weakness is an information‑exposure flaw (CWE‑200) that permits disclosure of values that are intended to remain hidden.

Affected Systems

Affected hosts are those relying on the LiquidJS template engine distributed by harttle. Any use of LiquidJS older than the v10.27.2 release is vulnerable, as all releases before this version lack the proper restrictions. The fix is included in the 10.27.2 tag and later. All deployments of LiquidJS used for rendering templates that may incorporate untrusted data should verify their version against the advisory.

Risk and Exploitability

The CVSS score is 6, indicating a moderate severity. The EPSS score is not available, but the vulnerability is not currently listed in CISA KEV. Exploitation requires the ability to control object prototypes or inject malicious data into templates, which is common in web applications that render user input. The risk is moderate and may be mitigated by upgrading or by restricting the prototype chain before rendering.

Generated by OpenCVE AI on October 6, 2026 at 19:44 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade LiquidJS to version 10.27.2 or later to apply the vendor‑provided fix.
  • If an upgrade is not immediately possible, ensure that any objects passed to the template engine have prototypes set to null or otherwise block inherited enumerable properties before rendering.
  • Restrict the data processed by LiquidJS to trusted sources and limit the ability of application code to modify prototypes or inject malicious objects.

Generated by OpenCVE AI on October 6, 2026 at 19:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 07 Oct 2026 06:15:00 +0000

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

Tue, 06 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Description LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to 10.27.2, enabling ownPropertyOnly does not consistently restrict inherited array indices because negative indexing, .first, .last, the first filter, the last filter, join, reverse, slice, compact, and for-loop iteration can read prototype-provided elements outside readJSProperty(). An attacker who can influence prototype state or inherited array-index data and cause templates to render affected operations can disclose values that ownPropertyOnly is expected to hide. Direct positive indexing and ordinary object prototype reads are blocked, but the alternate array paths remain affected. This issue is fixed in 10.27.2.
Title LiquidJS: ownPropertyOnly bypass for inherited array indices in first/last/join/reverse/slice/compact, `.first`/`.last`, negative index, and for-loop iteration
Weaknesses CWE-200
References
Metrics cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Harttle Liquidjs
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-06T18:04:14.907Z

Reserved: 2026-10-06T15:33:55.333Z

Link: CVE-2026-106120

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-06T19:17:42.960

Modified: 2026-10-06T19:17:43.123

Link: CVE-2026-106120

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T06:00:08Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor