CVE-2026-39245
Açıklama
4.2.2 sürümü öncesindeki decompress, dizin gezintisine (directory traversal) ve rastgele dosya yazılmasına olanak tanıyan hatalı bir yol kapsama kontrolü içermektedir. safeMakeDir fonksiyonu (index.js satır 29) ve çıkarma yolu doğrulaması (index.js satır 106), çözümlenen yolun çıktı dizini içinde olduğunu doğrulamak için String.indexOf() kullanmaktadır: realDestinationDir.indexOf(realOutputPath) !== 0. Bu kontrol, bir yol ayırıcı sınırını zorlamadığı için kusurludur. Örneğin, "/tmp/app_config".indexOf("/tmp/app") ifadesi 0 döndürür ve /tmp/app_config, /tmp/app dışında olmasına rağmen kontrolü hatalı bir şekilde geçer. Aynı paketteki doğrulanmamış sembolik bağlantı oluşturma ile birleştiğinde, bir saldırgan çıkarma hedefinin yanındaki dizinlere rastgele dosyalar yazabilir. Bu durum, CVE-2020-12265 için yapılan düzeltmenin atlatılmasıdır. Doğru kontrol, bir yol ayırıcının eklenmesini gerektirir: realParentPath.indexOf(realOutputPath + path.sep) !== 0.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| decompress_project decompress | v ≤ 4.2.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.