Yüzüme vurma:Araştırmacılar, dünya çapında yüz milyonlarca geliştirici tarafından kullanılan bir platform olan GitHub’da daha önce bilinen bir sorunu yeniden keşfediyorlar. Hatta sorunu tanımlamak için yeni bir güvenlik açığı sınıfı bile öneriyorlar, ancak şirket bunu ele almakla ilgilenmiyor gibi görünüyor.
Truffle Security’deki güvenlik analistleri, geliştiricilerin silinmiş çatallardan, silinmiş depolardan ve hatta GitHub’da barındırılan özel depolardan veriye erişebileceğini doğruladı. Sorun, kötü niyetli aktörler tarafından güçlü bir saldırı vektörü olarak kullanılabilir ve araştırmacılar bunu tanımlamak için yeni bir terim türettiler: Çapraz Çatal Nesne Referansı (CFOR).
Bir CFOR güvenlik açığı, bir GitHub deposunun bir çatalı başka bir çataldan hassas verilere erişebildiğinde ortaya çıkar. Gizli ve silinmiş çatallardan gelen veriler, bir üçüncü taraf bir commit ile ilgili SHA-1 karmasını biliyorsa kolayca alınabilir ve doğrudan erişilebilir. GitHub veritabanı sunucularında kaydedilen her bir commit’in kendi karması vardır.
Truffle analistleri, daha önce oluşturulmuş bir deponun çatallanmasını, veriyi ona göndermesini ve ardından çatalı silmesini sağlayarak CFOR sorununu gösterdi. Şimdi silinen çatala yapılan bir gönderme, orijinal depodan erişilebilir olmaya devam edecek ve bu da geliştiriciler onu tamamen sildiklerine inansalar bile verinin GitHub sunucularında saklandığını gösteriyor.
Araştırmacılar, sorunun özünde GitHub’ın depo ağındaki “yıkıcı” eylemlerin commit’lere yapılan referansları kaldırması ancak gerçek veriyi silmemesi olduğunu söyledi. Commit’ler artık “standart” GitHub kullanıcı arayüzü ve olağan git işlemleri aracılığıyla kullanılamıyor ancak daha önce bilinen bir commit karması bunlara doğrudan erişmek için hala kullanılabilir.
// İlgili Öyküler
- Finans sektöründe iş bulmanıza yardımcı olacak 3 programlama dili
- MS-DOS 4.00 kaynak kodunun özensiz Git dökümü derlemeyi bozuyor ve meta verileri siliyor
Bu nasıl bir güvenlik sorunu olabilir? Truffle Security, genel depolarındaki commit’lerin yanlışlıkla parolalar veya sözde “gizli” API anahtarları gibi son derece hassas veri içerebileceğini belirtti. GitHub’ın doğrudan erişim isteklerini “otomatik olarak tamamlamak” için perde arkasında çalıştığı için, bir SHA-1 karma değerinin bir parçası bile “silinmiş” bir commit’e erişmek için yeterli olabilir.
Araştırmacılar, “büyük” bir AI şirketinden yaygın olarak çatallanmış genel depolarla ilgili silinmiş çatallardan 40 geçerli API anahtarını “kolayca” bulabildiler. Araştırmacılar, “Kontrol karmaları, GitHub’ın kullanıcı arayüzü üzerinden zorla elde edilebilir, özellikle de git protokolü bir komit referans alınırken kısa SHA-1 değerlerinin kullanımına izin verdiği için” diye açıkladılar. Kısa SHA-1, başka bir benzersiz komit karmasıyla çakışmayı önlemek için gereken asgarî karakter sayısıdır ve GitHub komitlerinde “silinmiş” sırları aramaya başlamak için sadece dört karakter yeterlidir.
GitHub, Truffle Security’nin CFOR iddialarına, bunun geliştirme platformunun amaçlanan, belgelenmiş davranışı olduğunu belirterek yanıt verdi. Truffle ikna olmadı ve hizmetin CFOR’dan kaçınmak için yeni önlemler uygulaması gerektiğini belirtti. Araştırmacılar, Bitbucket ve GitLab gibi diğer git tabanlı platformların da muhtemelen aynı sorundan etkilendiğini söyledi.