VM2 JavaScript sanal alan kitaplığındaki (sürümler ≤ 3.10.0) kritik bir güvenlik açığı, saldırganların sanal alan korumalarını atlamasına ve tam sistem ayrıcalıklarıyla rastgele kod yürütmesine olanak tanır.
Kusur, Promise geri çağırma işlevlerinin uygun olmayan şekilde temizlenmesinden yararlanarak, kimlik doğrulama veya kullanıcı etkileşimi olmadan uzaktan kod yürütülmesine olanak tanıyor.
Güvenlik Açığı Genel Bakış
Npm’de 273.000 projeye dağıtılan vm2 kitaplığı, güvenilmeyen kodları yalıtılmış ortamlarda güvenli bir şekilde yürütmek için tasarlanmıştır.
Ancak araştırmacı patriksimek tarafından tespit edilen kusur, Promise tabanlı sanal alan kaçış tekniği aracılığıyla bu temel güvenlik garantisini baltalıyor.
| Mülk | Değer |
|---|---|
| CVE Kimliği | CVE-2026-22709 |
| Danışma | GHSA-99p7-6v5w-7xg8 |
| Paket | vm2 (npm) |
| Etkilenen Sürümler | ≤ 3.10.0 |
| Yamalı Sürüm | 3.10.2 |
| Tip | Sandbox’tan Kaçış |
| CVSS Puanı | 9.8 / 10 |
Saldırganlar, lib/setup-sandbox.js’de uygulanan amaçlanan temizleme katmanını atlayarak, temizlenmemiş Promise.prototype.then geri çağrılarına erişmek için eşzamansız işlev dönüş değerlerinden yararlanabilir.
Güvenlik açığı, Promise uygulamalarında tutarsız geri arama temizliğinden kaynaklanmaktadır.
localPromise.prototype.then geri çağrıları uygun temizleme kontrollerini alırken, zaman uyumsuz işlevler tarafından döndürülen globalPromise nesnesi bu korumaları tamamen atlar.
Saldırganlar, senkronize edilmemiş işlev yürütmeyi tetikleyen Sembol özelliklerine sahip hata nesneleri oluşturarak bu tutarsızlıktan yararlanır ve temizlenmemiş globalPromise.prototype.then yöntemini açığa çıkarır.
Bu atlama başarılı olduğunda, saldırganlar Error yapıcısının İşlev prototipine doğrudan erişim elde ederek rastgele kod yürütmenin başlatılmasını sağlar.
Bu, child_process modülü çağrısı yoluyla uzaktan kod yürütülmesine veya herhangi bir kısıtlama olmaksızın doğrudan sistem komutu yürütülmesine olanak tanır.
Kritik önem derecesi, tam sistem güvenliği risklerini yansıtır. Eklenti sistemleri, şablon sanal alanları ve güvenlik analizi platformları da dahil olmak üzere güvenilmeyen kodu yürütmek için vm2 kullanan uygulamalar, anında kötüye kullanım riskiyle karşı karşıyadır.
Saldırı hiçbir kimlik doğrulama, kullanıcı etkileşimi veya yükseltilmiş ayrıcalık gerektirmiyor, bu da onu geniş ölçekte silahlandırmayı önemsiz kılıyor.
Kuruluşların vm2’yi derhal 3.10.2 veya sonraki bir sürüme güncellemesi gerekir. Yama, globalPromise.prototype.then geri aramalarını düzgün bir şekilde temizleyerek kötüye kullanım zincirini kapatıyor. Güvenlik açığını azaltan hiçbir geçici çözüm yoktur; Güvenli çalışma için yama yapılması zorunludur.
Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak Olarak Ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.