Önde gelen yazılım deposu yöneticisi Artifactory’de, saldırganların yol geçiş saldırıları yoluyla rastgele kod yürütmesine olanak tanıyan bir Zip Slip güvenlik açığı keşfedildi.
JFrog’s Artifactory, pazara yön veren bir yazılım deposu yöneticisidir. Yazılım tedarik zinciri kullanımı için gereken tüm dosyaları, ikili dosyaları, paketleri, bileşenleri ve eserleri düzenlemek ve kontrol etmek için birleşik bir çözüm sunar.
2021’in başlarında BT güvenlik danışmanı Egidio Romano, Artifactory’de bir Zip Slip güvenlik açığı keşfetti. Güvenlik açığını JFrog özel Bug ödeme Programına bildirdi ve bunun için 5.000 ABD Doları ile ödüllendirildi.
Tipik olarak Zip Slip, Zip veya Tar arşivi gibi bir arşiv dosyasını işlerken veya çıkartırken Yol Geçişi saldırıları aracılığıyla kullanılabilecek rastgele bir dosya yazma güvenlik açığıdır.
Yol Geçişi Saldırılarını Anlamak
Yol Geçişi saldırısı (Dizin Geçişi), kullanıcı tarafından sağlanan dosya adlarının yetersiz giriş doğrulamasından yararlanır.
Sonuç olarak, nokta-nokta-eğik çizgi (../) dizileri olarak da bilinen “ana dizine geçiş”i belirten karakterler, işletim sisteminin dosya sistemi API’sine iletilir.
Saldırganlar, dosya sistemine yetkisiz erişim sağlamak ve sistemdeki herhangi bir dosyayı okumak veya yazmak için duyarlı bir program kullanabilir.
Scan Your Business Email Inbox to Find Advanced Email Threats - Try AI-Powered Free Threat Scan
Aslında, hem okuma hem de yazma modlarında bir uygulama Yol Geçişi saldırılarına karşı savunmasız olabilir.
Bu saldırılar, Bilgi İfşaatı saldırı vektörlerini açığa çıkarabilecek rastgele dosya okuma ilkelleriyle sonuçlanabilir; ikinci senaryoda, Uzaktan Kod Yürütme (RCE) saldırılarını açığa çıkarabilecek rastgele dosya yazma temel öğelerine neden olabilirler.
JFrog Artifactory’de Zip Slip Güvenlik Açığı
Org.artifactory.addon.bower.helpers.BowerExternalDependeencyHandler sınıfında bir Zip Slip güvenlik açığı bulunmaktadır.
Bower paketlerinin “harici bağımlılıkların yeniden yazılması” işlemi yapılırken extractBowerPackage() işlevi çağrılır.
Bu da Bower paketindeki (bir.tar.gz dosyası olması amaçlanan) her giriş için güvenlik açığı bulunan copyEntryToFile() yöntemini çağırır.
Daha sonra dosya paketten çıkarılır ve bir tür Dosya nesnesi kullanılarak dosya sistemine yazılır.
“Bu, giriş dosya adlarında nokta-nokta-eğik çizgi (../) dizileri içeren kötü amaçlı bir Bower paketi sağlayarak uzak web sunucusuna rastgele dosyalar yazmak (veya üzerine yazmak) için kullanılabilir ve bu da Uzaktan Kod Yürütme (RCE) saldırılarıyla sonuçlanabilir. ”, blogu okur.
Romano, Bower depolarını oluşturmak için bir yönetici hesabına ihtiyaç duyulmasına rağmen, bunun her zaman hatadan başarıyla yararlanmak için bir yönetici hesabına ihtiyaç duyulduğu anlamına gelmediğini iddia ediyor.
Yapıları Bower Sanal Deposunda “Bağımlılığın Yeniden Yazılmasını Etkinleştir” seçeneği seçili olarak dağıtma yeteneğine sahip yönetici olmayan kullanıcılar da bundan yararlanabilir.
Son sözler
Bu tür güvenlik kusurları vakaların %99’unda olduğu gibi unutkanlık veya hatalı varsayımlar gibi insan hatalarından kaynaklanmaktadır.
Zip Slip’in yaptığı tek şey, Path Traversal güvenlik açığını kullanarak beklenmedik klasörler içine rastgele dosyalar yazarak geliştiricilerin kontrol eksikliğinden yararlanmaktır.
Bu durumda saldırganlar, Zip Slip saldırılarına karşı duyarlı programları çalıştıran cihazların tam kontrolünü ele geçirmek için bunu kullanabilir.
Free Webinar! 3 Security Trends to Maximize MSP Growth -> Register For Free