CVE-2026-93606
Açıklama
vm2 (npm) 3.12.0 ve önceki sürümleri, `VM` ve `NodeVM` bileşenlerinde bir sandbox kaçışı içermektedir. Bir gömücü (embedder), ana makine alanı (host-realm) Promise döndüren bir ana makine API'si sunduğunda, köprünün red temizleyicisi (lib/bridge.js dosyasındaki hostPromiseSanitizeReject / makeSanitizedPromiseCallback / normalizeHostPromiseCallbacks), yalnızca fonksiyon içeren `then`/`catch` red yuvalarını sarmalar ve sandbox tarafındaki `Symbol.species`/`.then` etkisizleştirme işlemi yalnızca sandbox yerleşik `Promise.prototype` üzerine kurulur, bu nedenle hiçbir zaman bir ana makine Promise'ine uygulanmaz. Sandbox içinde çalışan kod, ana makine Promise'indeki `p.constructor[Symbol.species]` değerini geçersiz kılabilir ve ardından herhangi bir `onRejected` işleyici olmadan `p.then()` çağırabilir; V8, ham ana makine red değerini saldırgan tarafından yakalanan bir resolve/reject kapatmasına yeniden fırlatan dahili Thrower mekanizmasını devreye sokar. Bu durum, handleException ve hostPromiseSanitizeReject mekanizmalarını atlayarak, ana makine nesnesinin temizlenmemiş ve tam işlevsel bir köprü proxy'sinin sandbox koduyla paylaşılmasını sağlar. Red değeri ana makinede pivotlanabilirse (örneğin bir ana makine `process` nesnesi), bu durum ana makinede rastgele kod çalıştırılmasına yol açar. 3.12.1 sürümünde düzeltilmiştir.
Nasıl düzeltilir
- patriksimek vm23.12.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| patriksimek vm2 | v < 3.12.1 | 3.12.1 |
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.