CVE-2026-92942
Açıklama
3.11.7 öncesindeki vm2 (etkilenen sürümler <= 3.11.6), senkron VM#run() çağrısının dışında yürütülen kodlar üzerinde VM({ timeout }) seçeneğini zorunlu kılmaz. Zaman aşımı yalnızca lib/vm.js içindeki doWithTimeout() aracılığıyla yapılan tek bir _runScript() çağrısını kapsar ve FinalizationRegistry ile WeakRef, sandbox'lı koda değiştirilmeden sunulur (lib/setup-sandbox.js içindeki sıkılaştırılmış global değişkenler arasında yer almazlar). Sandbox'lı kod, bir nesne için FinalizationRegistry temizleme geri çağırması kaydedebilir ve ardından nesneye olan tek güçlü referansı kaldırabilir; vm.run() yapılandırılan zaman aşımı süresi içinde döner ancak V8 çöp toplayıcısı daha sonra nesneyi geri kazandığında, sandbox'lı temizleme geri çağırmasını herhangi bir vm2 zaman aşımı hesaplamasının dışında tetikler. Bu geri çağırma içerisindeki yoğun bir döngü, ana bilgisayar olay döngüsünü sınırsız bir süre boyunca engeller ve bu durum hizmet reddine yol açar. Çağrılma zamanı çöp toplayıcıya bağlıdır (örneğin bellek baskısı altında veya --expose-gc ile).
Nasıl düzeltilir
- vm23.11.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| vm2npm | v < 3.11.7 | 3.11.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.