> CVE-2026-44645 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-06-17 23:17
MODIFIED
2026-06-18 20:16
CVSS_SCORE V3
6.5
EPSS (Prob. Exploit)
0.39%
Top 67.4%
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, the renderLimit option can be fully bypassed by a {% for %} (or {% tablerow %}) tag whose body is empty. The renderLimit option is documented in docs/source/tutorials/dos.md as the mechanism that "mitigates this by limiting the time consumed by each render() call." The per-iteration time check is reached only when the body contains at least one template node, so a template such as {%- for i in (1..N) -%}{%- endfor -%} iterates the full collection without ever consulting renderLimit. With a configured renderLimit of 50 ms, a single parseAndRenderSync call has been observed to consume 2.26 seconds (~45Ă— over the limit) and scales linearly with N up to memoryLimit, allowing a low-privileged template author to wedge an event-loop thread for an attacker-chosen duration. Deployments that rely on a finite renderLimit for DoS protection (common in multi-tenant template-authoring environments) can still be forced by a single crafted template to monopolize a Node.js event-loop worker for attacker-controlled time, potentially stalling in-flight requests, with availability impact only. 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:L/UI:N/S:U/C:N/I:N/A:H
EXPLOITABILITY
2.8
IMPACT
3.6

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
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
Low (L)
Authentifié avec compte utilisateur basique
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
None (N)
Aucune divulgation d'informations
I (Impact Intégrité)
Integrity Impact
None (N)
Aucune modification de données possible
A (Impact Disponibilité)
Availability Impact
High (H)
Interruption totale du service possible

> RÉSUMÉ DES IMPACTS

Confidentialité
None
Aucune divulgation d'informations
Intégrité
None
Aucune modification de données possible
Disponibilité
High
Interruption totale du service possible

> WEAKNESSES

CWE-400

> CWE DETAILED DESCRIPTIONS

CWE-400: Uncontrolled Resource Consumption - The product does not properly control the allocation and maintenance of a limited resource.

> GITHUB SECURITY ADVISORY

GHSA-8xx9-69p8-7jp3 MODERATE

LiquidJS has a renderLimit DoS guard bypass via empty `{% for %}` body

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

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

LiquidJS has a renderLimit DoS guard bypass via empty `{% for %}` body

AFFECTED PACKAGES:
Unknown / Unknown
252 versions affected
ALIASES:
GHSA-8xx9-69p8-7jp3

> 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-400: Uncontrolled Resource Consumption - The product does not properly control the allocation and maintenance of a limited resource.
Total des modifications: 1 Dernière mise à jour: 4 months ago

> REFERENCES

https://github.com/harttle/liquidjs/commit/5b9c3469085e01c79e2d0af28e2a13f730e17...
https://github.com/harttle/liquidjs/releases/tag/v10.26.0
https://github.com/harttle/liquidjs/security/advisories/GHSA-8xx9-69p8-7jp3
https://github.com/harttle/liquidjs/security/advisories/GHSA-8xx9-69p8-7jp3
« BACK_TO_HOME