CVE-2026-32731
Açıklama
ApostropheCMS açık kaynaklı bir içerik yönetim çerçevesidir. `@apostrophecms/import-export` paketinin 3.5.3 sürümünden önce, `gzip.js` dosyasındaki `extract()` fonksiyonu, dosya yazma yollarını `fs.createWriteStream(path.join(exportPath, header.name))` kullanarak oluşturur. `path.join()`, `../` gibi dizin gezginliği (traversal) bölümlerini çözümlemez veya temizlemez. Bunları olduğu gibi birleştirir; bu da `../../evil.js` isimli bir tar girdisinin, hedeflenen çıkarma dizininin dışındaki bir yola çözümlenmesi anlamına gelir. Yazma akışı açılmadan önce herhangi bir kanonik yol kontrolü yapılmaz. Bu durum tipik bir Zip Slip zafiyetidir. Global İçerik Düzenleme izni verilmiş olan her kullanıcı —bu rol rutin olarak içerik editörlerine ve site yöneticilerine atanır— standart CMS içe aktarma arayüzü üzerinden özel olarak hazırlanmış bir `.tar.gz` dosyası yükleyebilir ve saldırgan tarafından kontrol edilen içeriği, Node.js işleminin ana bilgisayar dosya sisteminde erişebildiği herhangi bir yola yazabilir. `@apostrophecms/import-export` paketinin 3.5.3 sürümü bu sorunu giderir.
Nasıl düzeltilir
- apostrophecms import-export3.5.3 ya da sonraki bir sürüm
- @apostrophecms/import-export3.5.3 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apostrophecms import-export | v < 3.5.3 | 3.5.3 |
| @apostrophecms/import-exportnpm | v < 3.5.3 | 3.5.3 |
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.