CVE-2026-76845
Açıklama
adm-zip 0.5.9 ile 0.6.0 arasındaki sürümler, çıkarma hedefindeki sembolik bağlantıları takip etmektedir. util/utils.js içindeki Utils.sanitize, bir arşiv giriş adının yalnızca dize biçimini çözümlenmiş çıkarma köküyle karşılaştırarak sınırlamayı uygular ve Utils.writeFileTo hesaplanan hedefi fs.openSync(path, "w", 0o666) ile açar; bu işlem sembolik bağlantıları çözer ve ne O_NOFOLLOW içerir ne de yazma öncesi bir fs.lstatSync kontrolü yapar. Hedefteki bir yol bileşeni halihazırda çıkarma kökünün dışını gösteren bir sembolik bağlantı olarak mevcut olduğunda, extractAllTo, extractAllToAsync ve extractEntryTo giriş içeriklerini bu bağlantı üzerinden yazar ve ardından hedefini chmod ile değiştirerek, arşivde herhangi bir dizin geçiş sekansı yer almadan saldırgan tarafından kontrol edilen içeriği kökün dışındaki bir dosyaya yerleştirir. Yazma işleminin gerçekleşmesi için overwrite seçeneğinin etkin olması gerekir, çünkü önceki fs.existsSync kontrolü de bağlantıyı çözer ve aksi takdirde işlemi reddeder. Geçici bir dizin veya sürekli entegrasyon çalışma alanı gibi paylaşılan, yeniden kullanılan veya öngörülebilir bir çıkarma dizini içinde sembolik bağlantı oluşturabilen bir saldırgan, çıkaran sürecin yazma iznine sahip olduğu herhangi bir dosyanın üzerine yazabilir.
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 |
|---|---|---|
| adm-zipnpm | 0.5.9 ≤ v ≤ 0.6.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.