CVE-2026-100721
Açıklama
3.12.2 sürümünden önceki vm2, NodeVM external-module çözücüsünde bir kimlik doğrulama atlatma açığı içermektedir. Bir gömücü, `require.external` kısmını özel bir çözücüyle (ve `context: 'host'` ile) yapılandırdığında, lib/resolver-compat.js dosyasındaki `LegacyResolver.customResolve`, çözümlenen modül dizinini `this.externals` içinde bir yol ayırıcı veya dize sonu sınırı gerektirmeksizin `new RegExp('^' + escapeRegExp(resolvedPath))` şeklinde kaydeder. Bu nedenle, güvenilmeyen konuk kodu, izin verilen modülü (örneğin `foo`) çağırabilir ve ardından yolu yalnızca çözümlenmiş önekle eşleşen, izin verilmeyen kardeş bir modülün mutlak yolunu (örneğin `.../node_modules/foo2/index.js`) çağırabilir; kardeş modül `isPathAllowedForModule` kontrolünü geçer ve `hostRequire` aracılığıyla yüklenir, böylece üst düzey kodu dışa aktarımlar `vm.readonly` ile sarmalanmadan önce ana bilgisayar işleminde çalışır. Bu durum, sandbox kaçışına ve ana bilgisayar bağlamında rastgele kod çalıştırılmasına yol açar.
Nasıl düzeltilir
- vm23.12.2 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.12.2 | 3.12.2 |
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.