Ana Sayfa

VSCode Eklentilerindeki Güvenlik Açıkları Yerel Sistemleri Tehdit Ediyor

1 dk okuma

Makale, VSCode eklentilerinde ve VSCode'un kendisinde bulunan güvenlik açıklarını ele alıyor. Yazar, Microsoft'un SARIF viewer ve Live Preview eklentilerini inceleyerek yüksek ciddiyetli hatalar keşfetti. Bu kusurlar, bir saldırganın eklenti aktifken kötü niyetli bir web sitesini ziyaret ederek yerel dosyaları, hatta SSH anahtarlarını çalmasına olanak tanıyabilir. Araştırma, bir Electron uygulaması olan VSCode'un eklentilere dosya sistemi erişimi ve rastgele kabuk komutları çalıştırma dahil önemli ayrıcalıklar verdiğini vurguluyor. Bu durum, bir eklentideki XSS güvenlik açığının tam bir sistem ihlaline yol açabileceği anlamına geliyor.

Bu tür riskleri azaltmak için VSCode, dosya işlemleri veya kabuk komutları için NodeJS API'lerine doğrudan erişimi olmayan, iframe'lere benzer, ayrı bir bağlamda çalışan "Webview" adı verilen sandboxed kullanıcı arayüzü panelleri kullanır. Ancak yazar, özellikle eklentiler yanlış yapılandırıldığında bu sandbox'lardan kaçış yolları buldu. Makale, eklentilerdeki üç güvenlik açığını detaylandırıyor; bunlardan ikisi rastgele yerel dosya sızdırmayı mümkün kıldı. Ayrıca, Content-Security-Policy (CSP) kısıtlamalarını aşmak için DNS üzerinden veri sızdırma, JavaScript çalıştırmak için srcdoc iframe'leri kullanma ve saldırıların etkisini artırmak için DNS rebinding gibi gelişmiş istismar tekniklerini de inceliyor.

İki bölümlük bu yazı dizisi, bu güvenlik açıklarını çalışan exploit'lerle göstermeyi ve benzer sorunları önlemek için öneriler sunmayı amaçlıyor. Yazar ayrıca, iyi yapılandırılmış eklentilerde bile bir Webview sandbox'ından kaçmaya izin veren VSCode'un kendisinde kritik bir hata (CVE-2022-41042) buldu ve bu keşif ona 7.500 dolarlık bir ödül kazandırdı. Bu durum, özellikle güvenilmeyen girdileri işleyen eklentilerin güvenliğini dikkatlice değerlendirmenin önemini vurgulamaktadır, zira bu eklentiler yerel geliştirme ortamı için doğrudan bir tehdit oluşturmaktadır.

İçgörü

VSCode eklentilerindeki yanlış yapılandırmalar veya doğrudan VSCode'daki güvenlik açıkları, geliştiricilerin yerel sistemlerinin tamamen ele geçirilmesine yol açabilir.

Kaynak