Archive Extraction Path Traversal ("Zip-Slip" / WinRAR CVE-2025-8088)
Reading time: 4 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Genel Bakış
Birçok arşiv formatı (ZIP, RAR, TAR, 7-ZIP, vb.) her bir girişin kendi iç yolunu taşımasına izin verir. Bir çıkarım aracı bu yolu körü körüne dikkate aldığında, ..
veya mutlak bir yol (örneğin C:\Windows\System32\
) içeren bir dosya adı, kullanıcı tarafından seçilen dizinin dışına yazılacaktır. Bu tür bir zafiyet, Zip-Slip veya arşiv çıkarım yolu geçişi olarak yaygın olarak bilinir.
Sonuçlar, rastgele dosyaların üzerine yazmaktan, Windows Başlangıç klasörü gibi bir oto çalıştırma konumuna bir yük bırakılarak doğrudan uzaktan kod yürütme (RCE) elde etmeye kadar uzanır.
Temel Sebep
- Saldırgan, bir veya daha fazla dosya başlığının içerdiği bir arşiv oluşturur:
- Göreli geçiş dizileri (
..\..\..\Users\\victim\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.exe
) - Mutlak yollar (
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\payload.exe
)
- Mağdur, gömülü yolu temizlemek veya seçilen dizinin altına çıkarım yapmayı zorlamak yerine, gömülü yola güvenen savunmasız bir araçla arşivi çıkarır.
- Dosya, saldırganın kontrolündeki bir konuma yazılır ve sistem veya kullanıcı o yolu tetiklediğinde çalıştırılır/yüklenir.
Gerçek Dünya Örneği – WinRAR ≤ 7.12 (CVE-2025-8088)
Windows için WinRAR ( rar
/ unrar
CLI, DLL ve taşınabilir kaynak dahil) çıkarım sırasında dosya adlarını doğrulamada başarısız oldu. Kötü niyetli bir RAR arşivi, aşağıdaki gibi bir girişi içeren:
..\..\..\Users\victim\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.exe
seçilen çıktı dizininin dışında ve kullanıcının Startup klasörünün içinde sona erecektir. Windows, oturum açtıktan sonra orada bulunan her şeyi otomatik olarak çalıştırır ve kalıcı RCE sağlar.
PoC Arşivi Oluşturma (Linux/Mac)
# Requires rar >= 6.x
mkdir -p "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup"
cp payload.exe "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/"
rar a -ep evil.rar evil/*
Seçenekler:
-ep
– dosya yollarını tam olarak verildiği gibi sakla (önceki./
kısmını kaldırma).
evil.rar
dosyasını kurbanınıza ulaştırın ve onu savunmasız bir WinRAR sürümü ile çıkarmasını söyleyin.
Doğada Gözlemlenen Sömürü
ESET, özelleştirilmiş arka kapıları dağıtmak ve fidye yazılımı operasyonlarını kolaylaştırmak için CVE-2025-8088'i kötüye kullanan RAR arşivleri ekleyen RomCom (Storm-0978/UNC2596) oltalama kampanyalarını bildirdi.
Tespit İpuçları
- Statik inceleme – Arşiv girişlerini listeleyin ve
../
,..\\
, mutlak yollar (C:
) veya kanonik olmayan UTF-8/UTF-16 kodlamalarını içeren herhangi bir ismi işaretleyin. - Sandbox çıkarımı – Sonuçta oluşan yolların dizin içinde kalmasını doğrulamak için güvenli bir çıkarıcı (örneğin, Python’un
patool
, 7-Zip ≥ en son,bsdtar
) kullanarak geçici bir dizine sıkıştırmayı açın. - Uç Nokta izleme – WinRAR/7-Zip vb. tarafından bir arşiv açıldıktan kısa bir süre sonra
Startup
/Run
konumlarına yazılan yeni çalıştırılabilir dosyalar için uyarı verin.
Azaltma ve Güçlendirme
- Çıkarıcıyı güncelleyin – WinRAR 7.13, uygun yol sanitizasyonu uygular. Kullanıcılar, WinRAR'ın otomatik güncelleme mekanizması olmadığı için bunu manuel olarak indirmelidir.
- Mümkünse arşivleri “Yolları yok say” seçeneği ile çıkarın (WinRAR: Çıkar → "Yolları çıkarma") .
- Güvenilmeyen arşivleri bir sandbox veya sanal makine içinde açın.
- Uygulama beyaz listesi uygulayın ve kullanıcı yazma erişimini otomatik çalıştırma dizinleri ile sınırlayın.
Ek Etkilenen / Tarihsel Durumlar
- 2018 – Snyk tarafından birçok Java/Go/JS kütüphanesini etkileyen büyük Zip-Slip tavsiyesi.
- 2023 –
-ao
birleştirmesi sırasında benzer geçiş için 7-Zip CVE-2023-4011. - Yazma işleminden önce
PathCanonicalize
/realpath
çağrısını yapmayan herhangi bir özel çıkarım mantığı.
Referanslar
- BleepingComputer – WinRAR sıfır-gün açığı arşiv çıkarımında kötü amaçlı yazılım yerleştirmek için kullanıldı
- WinRAR 7.13 Değişiklik Günlüğü
- Snyk – Zip Slip güvenlik açığı raporu
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.