CVE-2026-92948
Açıklama
vm2 versiyonları >= 3.9.6 ve <= 3.11.6, gömücü (embedder) açıkça node:test yerleşik modülüne izin verdiğinde (örneğin require: { builtin: ['node:test'] }), Node.js 24 ve daha yeni sürümlerde bir sandbox kaçışına izin veren bir NodeVM yerleşik izin listesi (allowlist) atlatma sorunundan etkilenmektedir. Node.js 24+ üzerinde, module.builtinModules yalnızca şema içeren node:test anahtarını açığa çıkarır; bu anahtar vm2'nin aile tabanlı DANGEROUS_BUILTINS koruması kapsamında değildir ve genel host-passthrough yükleyicisinde saklanır. lib/setup-node-sandbox.js dosyasındaki requireImpl() fonksiyonu, yerleşik modül araması öncesinde tek bir 'node:' önekini kaldırdığı için, require('node:node:test') çağrısı yapan sandbox kodu, saklanan node:test anahtarıyla eşleşir ve ana bilgisayar modülüne salt okunur bir proxy alır. node:test.run() çağrıları, süreç izole edilmiş test yürütme için ayrı bir Node süreci başlatan ve saldırgan tarafından kontrol edilen execArgv değerlerini ileten ana bilgisayar uygulamasına yönlendirilir; bu nedenle --eval=<JavaScript> parametresinin sağlanması, NodeVM sandbox'ı dışındaki kısıtlanmamış bir ana bilgisayar Node sürecinde rastgele JavaScript kodunun çalıştırılmasına yol açar. Sorun vm2 3.11.7 sürümünde düzeltilmiştir.
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 | 3.9.6 ≤ 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.