CVE Catalog

CVE-2026-106120

MediumCVSS 6.0
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.35%

27th percentile - higher than 27% of all known CVEs

Summary

LiquidJS prior to 10.27.2 does not consistently enforce ownPropertyOnly for inherited array indices, as negative indexing, .first, .last, first/last filters, join, reverse, slice, compact, and for-loop iteration can read prototype-provided elements outside readJSProperty(). An attacker able to influence prototype state can disclose values that ownPropertyOnly is expected to hide.

Risk Assessment

Data from array prototypes that should be inaccessible to templates may leak. In multi-tenant environments, this could expose information to other users.

Recommendation

Upgrade LiquidJS to version 10.27.2 or later. Avoid processing untrusted templates and inputs that could modify prototypes.

Other vulnerabilities in LiquidJS

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS