Trellix’teki siber güvenlik araştırmacıları, yakın zamanda, 350.000 açık kaynak deposunu potansiyel olarak etkilediği tespit edilen 15 yıllık bir Python hatası tespit etti. Bu hatanın kodun yürütülmesine yol açma olasılığı vardır.
Bu 15 yaşındaki Python hatası 2007’de açıklandı ve CVE-2007-4559 olarak izlendi. Buna rağmen, güvenlik sorununu azaltmak için herhangi bir yama sağlanmadı. Yalnızca, geliştiricileri risklere karşı uyaran belgelerde yapılan bir güncellemeyle hafifletildi.
Aşağıdakiler dahil olmak üzere çeşitli endüstri sektörleri açık kaynak depoları tarafından temsil edilir: –
- Yazılım geliştirme
- Yapay zeka
- Makine öğrenme
- web Geliştirme
- medya
- Güvenlik
- BT yönetimi
Tarfile modülü, CVSS tarafından 6.8 olarak derecelendirilen bu güvenlik açığından etkilenir.
Tarfile Kusur
Bir tar dosyası, meta veriler ve dosyalar hakkındaki diğer bilgilerle birlikte paketlenmiş birkaç dosyadan oluşur. Gelecekte tar dosyasını arşivden çıkarmak için bu meta verileri kullanmak gerekir.
Bir tar arşivi, aşağıdakiler arasında değişebilen bilgileri içeren çeşitli meta veriler içerir: –
- Dosya adı
- Dosya boyutu
- Dosyanın sağlama toplamı
- Dosya sahibi bilgileri
Bu bilgi, Python tarfile modülünde, bu bilgiyi temsil eden TarInfo adlı bir sınıf tarafından temsil edilir. Bir tar arşivi, her üye için bu bilgileri üretir.
Bir dosya sisteminde bu üyeler kullanılarak birkaç farklı yapı türü temsil edilebilir: –
- dizinler
- sembolik bağlantılar
- Dosyalar
Kodun içindeki TarInfo nesnesinin içerdiği bilgilere açık bir güven vardır. Bunu, çıkarma işlevine geçirilen yolun mevcut yol ile birleştirilmesi takip eder.
Tarfile İstismarı
Bu güvenlik açığından, bir saldırgan dosya adına işletim sistemi ayırıcısıyla birlikte “..” (“/” veya “\”) eklerse yararlanabilir.
Böylece, bu güvenlik açığından yararlanmak için dosyanın çıkarılması gereken dizinden kaçabilirler. Python’daki tarfile modülü tam olarak şunu yapmamızı sağlar: –
Bir dosyanın meta verilerini arşive eklenmeden önce işlemek için tarfile modülüne bir filtre eklenebilir. Saldırganlar altı satır kadar az kod kullanarak kendi açıklarını oluşturabilirler.
Trellix’ten bir araştırmacı, bu yılın başlarında farklı bir güvenlik açığının araştırılması sırasında CVE-2007-4559’u yeniden keşfetti.
Bu durumda, bir saldırgan, tarfile.extract() ve tarfile.extractall() işlevlerinin üyelerinin dosyalarını temizlemedeki başarısızlığından kaynaklanan bir dizin geçişi güvenlik açığı aracılığıyla dosya sistemine erişim elde edebilir.
350.000’den Fazla Proje Etkilendi
Araştırmacılar, bu tarayıcıyı kullanarak büyük olasılıkla savunmasız kodu içeren 257 depoyu tanımlamalarına olanak tanıyan bir tarayıcı geliştirdiler.
Bu depolar, birinin onu içerip içermediğini belirlemek için 175 örnekte incelendi. Sonuç olarak, bunların %61’inin saldırılara açık olduğu ortaya çıktı.
Küçük örnek kümesine dayalı olarak, GitHub’daki etkilenen tüm depoların bir tahmini, temel olarak kullanılarak örnek kümesinden türetilmiştir.
Trellix, manuel olarak doğrulanan %61 güvenlik açığı oranına dayalı olarak, depolarındaki güvenlik açığı bulunan depoların sayısının 350.000’i aştığını doğruladı. Geliştiriciler için daha hızlı ve daha doğru projelerin geliştirilmesini kolaylaştıran makine öğrenimi araçları tarafından sıklıkla kullanılırlar.
Otomatik tamamlama seçeneklerinin sağlanması için, bu araçlar bunu yapmak için yüz binlerce havuzdan gelen kodu kullanır. Geliştirici, güvenli olmayan kod sağladıklarında bir sorunun diğer işlemlere yayıldığının farkında olmaz.
Trellix, kullanıcıların bir projenin CVE-2007-4559’a ve diğer güvenlik açıklarına karşı savunmasız olup olmadığını kontrol etmelerini sağlayan özel bir araç olan Creosote’yi daha da geliştirdi.
Spyder IDE’nin yanı sıra Polemarch’ın, onu kullanarak yararlanılabilecek bir güvenlik açığına sahip olduğu bulundu. Bununla birlikte, Trellix tarafından 11.000’den fazla projeye yama uygulandı.
Hatadan etkilenen çok sayıda proje havuzu nedeniyle önümüzdeki birkaç hafta içinde 70.000’den fazla projenin düzeltilmesi bekleniyor.
Ücretsiz Yazılım Yazılımını İndirin – Güvenli Web Filtreleme – E-kitap