CVE-2026-45617
Açıklama
LiquidJS, saf JavaScript ile yazılmış Shopify/GitHub Pages uyumlu bir şablon motorudur. 10.25.7 ve altı sürümlerde, yerleşik strip_html filtresi dört hatalı tembel nicelenmiş alternatif içeren bir regex kullanır ve bu durum kuadratik geri izleme yoluyla ReDoS'a yol açar. Giriş, eşleşen kapatıcıları olmayan çok sayıda <script, <style veya <!-- açılış belirteçleri içerdiğinde, V8 regex motoru O(N²) geri izleme gerçekleştirerek Node.js olay döngüsünü engeller. Yaklaşık 350 KB boyutundaki tek bir istek ('<script'.repeat(50000)), işlemi yaklaşık 10 saniye boyunca durdurur; maliyet giriş boyutuyla kuadratik olarak artar. Varsayılan memoryLimit: Infinity ayarı regex CPU'sunu sınırlamaz ve yapılandırıldığında bile strip_html yalnızca str.length değerini limite yansıtır; regex'in kendisi sınırsız çalışır. Özel olarak hazırlanmış güvenilmeyen girişler içeren tek bir kimlik doğrulanmamış istek, memoryLimit korumalarını atlayarak Node.js worker'larını doyuran ciddi olay döngüsü engellemesine ve CPU amplifikasyonuna neden olabilir. Bu sorun 10.26.0 sürümünde düzeltilmiştir.
Nasıl düzeltilir
- liquidjs10.26.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| liquidjsnpm | v < 10.26.0 | 10.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.
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.