CVE-2026-45357
Açıklama
LiquidJS, saf JavaScript ile yazılmış Shopify/GitHub Pages uyumlu bir şablon motorudur. 10.25.7 ve altı sürümlerde, date filtresinin strftime uygulaması %9999999d gibi genişlik belirleyicilerini ayrıştırır ve yakalanan genişliği kontrol etmeden pad()/padStart() fonksiyonlarına iletir; bu durum bellek ve render limiti atlatılmasına yol açar. src/util/underscore.ts dosyasındaki pad döngüsü, Context'in memoryLimit veya renderLimit değerlerini dikkate almadan sınırsız dize birleştirme işlemi gerçekleştirir, böylece tek bir küçük şablon ({{ x | date: '%5000000d' }}) megabaytlarca çıktı üretir ve sınırsız CPU tüketimine neden olur. Dokümanlarda (src/liquid-options.ts:87-92) DoS kontrolleri olarak tanıtılan ve dokümantasyon dizgisinde strftime için açıkça belirtilen memoryLimit ve renderLimit seçenekleri tamamen devre dışı kalır. İstismar edilmesi, her render işleminde büyük bellek tahsislerine, yüksek CPU kullanımına veya OOM çökmelerine neden olabilir. Bu sorun 10.26.0 sürümünde düzeltilmiştir.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| liquidjsnpm | v ≤ 10.25.7 | — |
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.
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.