CVE-2026-44645

Orta

Açıklama

LiquidJS, saf JavaScript ile yazılmış bir Shopify/GitHub Pages uyumlu şablon motorudur. 10.25.7 ve altı sürümlerde, gövdesi boş olan bir {% for %} (veya {% tablerow %}) etiketiyle renderLimit seçeneği tamamen atlatılabilir. renderLimit seçeneği, docs/source/tutorials/dos.md dosyasında "her render() çağrısı tarafından tüketilen süreyi sınırlayarak bunu hafifleten" mekanizma olarak belgelenmiştir. Yineleme başına süre kontrolüne yalnızca gövde en az bir şablon düğümü içerdiğinde ulaşılır; bu nedenle {%- for i in (1..N) -%}{%- endfor -%} gibi bir şablon, renderLimit'e hiç danışmadan tüm koleksiyon üzerinde yineleme yapar. 50 ms olarak yapılandırılmış bir renderLimit ile, tek bir parseAndRenderSync çağrısının 2,26 saniye (limitin yaklaşık 45 katı) tükettiği gözlemlenmiş olup, bu durum memoryLimit değerine kadar N ile doğrusal olarak ölçeklenmekte ve düşük yetkili bir şablon yazarının, saldırgan tarafından belirlenen bir süre boyunca olay döngüsü (event-loop) iş parçacığını kilitlemesine izin vermektedir. Hizmet reddi (DoS) koruması için sonlu bir renderLimit'e güvenen dağıtımlar (çok kiracılı şablon yazma ortamlarında yaygındır), özel olarak hazırlanmış tek bir şablonla, bir Node.js olay döngüsü çalışanını saldırgan kontrollü bir süre boyunca tekeline almaya zorlanabilir; bu durum potansiyel olarak devam eden isteklerin duraksamasına yol açarak yalnızca kullanılabilirlik etkisine neden olur. Bu sorun 10.26.0 sürümünde düzeltilmiştir.

ÖnemOrta
CVSS6.5
İstismar olasılığı—
ÜrünLiquidjs
Yayın17 Haz 2026
İlk görülme17 Haz 2026

Nasıl düzeltilir

Güncelleyin
  • liquidjs10.26.0 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
liquidjsnpmv < 10.26.010.26.0

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.