Kavram kanıtı istismar kodu, birden çok yazılım tarafından sanallaştırılmış bir ortamda güvenli bir şekilde kod çalıştırmak için kullanılan bir JavaScript sanal alanı olan popüler VM2 kitaplığında yakın zamanda açıklanan kritik bir güvenlik açığı için yayınlandı.
Kitaplık, güvenilmeyen kodu Node.js sunucularında yalıtılmış bir bağlamda çalıştırmak üzere tasarlanmıştır. Kodun kısmen yürütülmesine izin verir ve sistem kaynaklarına veya harici verilere yetkisiz erişimi engeller.
VM2, NPM paket deposu aracılığıyla aylık 16 milyondan fazla indirmeye sahiptir ve entegre geliştirme ortamları (IDE’ler) ve kod düzenleyiciler, hizmet olarak işlev (FaaS) çözümleri, pen-test çerçeveleri, güvenlik araçları ve çeşitli JavaScript ile ilgili ürünler.
Maksimum önem düzeyi
CVE-2023-29017 olarak izlenen yakın zamanda düzeltilen güvenlik açığı, maksimum önem derecesi olan 10.0’ı aldı. Kore İleri Bilim ve Teknoloji Enstitüsü’ndeki (KAIST) araştırma ekibi tarafından keşfedildi.
VM2 kitaplığının host nesnelerini hatalı işlediğini bulan araştırmacılar, asenkron bir hata oluştuğunda ‘Error.prepareStackTrace’ işlevine geçtiler.
Güvenlik sorunundan yararlanmak, korumalı alan korumalarının atlanmasına ve ana bilgisayarda uzaktan kod yürütülmesine yol açabilir.
Güvenlik danışma belgesinde “Bir tehdit aktörü, korumalı alanı çalıştıran ana bilgisayarda uzaktan kod yürütme hakları elde etmek için korumalı alan korumalarını atlayabilir” diyor.
Sorun, VM2’nin 3.9.14 ve daha eski tüm sürümlerini etkiliyor. Sorun, kitaplığın yeni bir sürümü olan 3.9.15’in yayınlanmasıyla giderildi. Kullanılabilir bir geçici çözüm yok.
Açıklardan yararlanma kodu mevcut
Kritik güvenlik açığını gideren yeni VM2 sürümünün yayınlanmasının ardından, KAIST Doktora öğrencisi Seongil Wi, GitHub’da gizli bir havuzda CVE-2023-29017 için yararlanma kodunun iki varyasyonunu yayınladı.
PoC’ler, yayınlanmış formlarında, ana bilgisayar sisteminde ‘flag’ adlı yeni bir dosya oluşturarak, VM2’nin sanal alan korumalarının atlanabileceğini kanıtlayarak, ana bilgisayar sisteminde rasgele dosyalar oluşturmak için komutların yürütülmesine izin verir.
Ekim 2022’de VM2, saldırganların korumalı alan ortamından kaçmasına ve ana bilgisayar sisteminde komutlar çalıştırmasına da olanak tanıyan başka bir kritik kusur olan CVE-2022-36067’den muzdaripti. Bu sorun da kitaplığın yeni bir sürümünün yayınlanmasıyla hızlı bir şekilde giderildi.