> CVE-2026-44646 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-06-17 23:17
MODIFIED
2026-06-18 14:17
CVSS_SCORE V3
5.3
EPSS (Prob. Exploit)
0.33%
Top 73.2%
DATA SOURCES:
NVD đź”— 2026-06-18 CWE MITRE đź”— 2026-11-01 FIRST EPSS đź”— 2026-11-01 GITHUB đź”— 2026-11-05 OSV đź”— 2026-11-02

> DESCRIPTION

LiquidJS is a Shopify/GitHub Pages compatible template engine written in pure JavaScript. In versions 10.25.7 and below, Context.spawn() creates a child Context for the {% render %} tag but does not propagate the parent context's resolved ownPropertyOnly value, resulting in a silent bypass. The new context re-derives ownPropertyOnly from opts.ownPropertyOnly (the instance-level option), silently discarding any RenderOptions.ownPropertyOnly override that was supplied to parseAndRender(). As a result, a developer who runs a Liquid instance with the backwards-compatible ownPropertyOnly:false and then locks down an untrusted render with parseAndRender(..., { ownPropertyOnly: true }) still leaks prototype-chain properties from inside any {% render %} partial. This is a distinct exploit surface from the previously identified array-filter variants (where, reject, group_by, find, find_index, has) — the underlying root cause in Context.spawn() is shared, but {% render %} is a separately reachable sink that needs no filter usage. This issue has been fixed in version 10.26.0.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
EXPLOITABILITY
3.9
IMPACT
1.4

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
None (N)
Aucune authentification requise
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
Low (L)
Divulgation limitée d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
Low
Divulgation limitée d'informations
Intégrité
None
Aucune modification de données possible
Disponibilité
None
Aucune interruption de service

> WEAKNESSES

CWE-693

> CWE DETAILED DESCRIPTIONS

CWE-693: Protection Mechanism Failure - The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.

> GITHUB SECURITY ADVISORY

GHSA-9x9p-qf8f-mvjg MODERATE

LiquidJS's `{% render %}` tag silently bypasses per-render `ownPropertyOnly:true` via `Context.spawn()`

AFFECTED PACKAGES:
NPM / liquidjs
< 10.26.0
Fixed in: 10.26.0

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

LiquidJS: `{% render %}` tag silently bypasses per-render `ownPropertyOnly:true` via `Context.spawn()`

AFFECTED PACKAGES:
Unknown / Unknown
252 versions affected
ALIASES:
GHSA-9x9p-qf8f-mvjg

> HISTORIQUE DES MODIFICATIONS

Première apparition
17/06/2026 23:17
Source: NVD
📊 ENRICHISSEMENT 01/07/2026 06:01
CWE
Champ modifié: Description CWE
Ancienne valeur:
N/A
Nouvelle valeur:
CWE-693: Protection Mechanism Failure - The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.
Total des modifications: 1 Dernière mise à jour: 4 months ago

> REFERENCES

https://github.com/harttle/liquidjs/commit/dbbf6288030591bf6da28d8c1cce5a17bca97...
https://github.com/harttle/liquidjs/releases/tag/v10.26.0
https://github.com/harttle/liquidjs/security/advisories/GHSA-9x9p-qf8f-mvjg
https://github.com/harttle/liquidjs/security/advisories/GHSA-9x9p-qf8f-mvjg
« BACK_TO_HOME