CVE-2026-89321
Açıklama
Yayınlama işlemi bir VSIX'in sıkıştırılmış boyutunu sınırlar (varsayılan olarak ovsx.publishing.max-content-size, 512 MB), ancak açıldığında bir girdinin ne kadar büyüyeceğine dair herhangi bir sınır yoktur. /vscode/unpkg/{namespace}/{extension}/{version}/{path} adresine yapılan ilk istekte, WebResourceService girdiyi ZipFile.getInputStream() ile açmış ve sıkıştırılmamış akışı, yazılan baytları saymadan akışın sonuna kadar çalışan Files.copy()'e aktarmıştır. Sonuç java.io.tmpdir altında önbelleğe alınmıştır ve bu önbellek boyuta göre değil girdi sayısına göre (150) tahliye edildiğinden, disk kullanımı üzerinde hiçbir sınırlama uygulanmamıştır. Bu nedenle, yalnızca kendi ad alanına erişimi olan bir yayıncı, küçük ve yüksek düzeyde sıkıştırılabilir bir VSIX yükleyerek sunucunun geçici dosya sistemine çok daha büyük dosyalar yazmasına neden olabilir; tekrarlanan istekler önbellekten karşılandığı için işlem farklı dosyalar veya sürümlerle tekrarlanabilir. Gözlemlenen etki: Geçici dosya sistemi dolmuştur; henüz önbelleğe alınmamış dosya istekleri "No space left on device" hatasıyla 500 dönmüştür; başarısız bir çıkarma işlemi, o yoldaki sonraki denemeleri engelleyen kısmi bir önbellek dosyası bırakmıştır; yayınlama işlemi "Failed to read extension file" hatasıyla başarısız olmuştur. Meta veriler ve halihazırda önbelleğe alınmış dosyalar çalışmaya devam etmiş ve sunucu durmamıştır. Çıkarma işlemini tetiklemek için kimlik doğrulamaya gerek yoktur; yalnızca yükleme işlemi kimlik doğrulama gerektirir.
Nasıl düzeltilir
- Eclipse Foundation Eclipse OpenVSX1.2.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Eclipse Foundation Eclipse OpenVSX | 0.20.0 ≤ v < 1.2.0 | 1.2.0 |
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.