Kimlik ve Erişim Yönetimi Güvenliği
Platformda her kullanıcıya otomatik olarak atanmış gelen e-posta adresleri, saldırganların kullanabileceği yüksek ayrıcalıklı erişim belirteçleri içeriyor.
Siber tehdit aktörlerinin yalnızca bir e-posta adresiyle ciddi zarar verebildiği ortaya çıktı.
Aikido Security’nin bugün yayımlanan yeni araştırması, GitLab gelen e-posta adresinin nasıl son derece ayrıcalıklı bir erişim belirteci gibi davrandığını ve bir kuruluşun açık ve özel projelerine geniş kullanıcı hakları verdiğini inceliyor. GitLab, DevOps platformunun her kullanıcısına yazılım projelerinde sorun oluşturmak için özel bir e-posta adresi otomatik olarak atıyor; kullanıcı bu adrese e-posta gönderdiğinde, söz konusu kullanıcının yazdığı projede yeni bir sorun oluşuyor.
Otomatik benzersiz adreslere gönderilen e-postalarla proje sorunları oluşturmak yaygın bir yetenek değil. Aikido raporunda bunun alışılmadık olmadığını belirtiyor. Örneğin Trello, Todoist ve Monday.com gibi proje yönetim platformlarının da benzer özellikleri var.
Ama GitLab e-posta adreslerinin her biri, kuruluşun kaynaklarına geniş erişim sağlayan ve yalnızca bireysel kullanıcının çalıştığı proje ile sınırlı kalmayan sona ermeyen bir belirteç içeriyor. Bu adres kamuya açılırsa saldırgan, hesaba gerçek erişim olmadan bile tedarik zinciri saldırısı gerçekleştirebilir.
Rapor şöyle diyor: “İnternetteki herhangi bir posta kutusu o adrese gönderebilir ve GitLab mesajı belirtecin sahibi olarak işler. Adrese sahipsen hem kimlik doğrulaman hem de yetkilendirmen olur.”
Aikido araştırma ekibi, kamusal internette kasıtlı olarak açığa çıkmış adreslerin sayısının gösterdiği üzere pek çok GitLab kullanıcısının bu adreslerle ilişkili risklerin farkında olmadığını savunuyor.
GitLab Adresiniz Nedir?
Aikido araştırmacısı Joe Leon, Dark Reading’e verdiği demeçte, GitLab’ta proje sorunları oluşturmak için başlayan basit özelliğin yıllar içinde ayrıcalıklı erişimle birleştirilmiş birleşme istekleri ve yama dosyaları gönderme gibi daha fazla işlev kazan<|start|>landığını söylüyor. Yetenekler belgelenmiş olsa da Leon, özellikle GitLab kullanıcı arayüzünde risklerin yeterince vurgulanmadığını belirtiyor.
“Orada sadece sorun oluşturmakla kalmayıp kod da gönderebilecek hassas bir şey olduğu açıkça iletilmedi. Kodu gönderirken ana dala kod gönderme ya da CI/CD işi çalıştırma potansiyeli var,” diyor.
GitLab’ın kullanıcı arayüzü e-posta adresini belirli bir projeye sorun gibi iş kalemleri eklemek için bir araç olarak tanımlıyor ve özellikle “Başka hiçbir veriye erişmek için kullanılamaz” diyor. Aikido’ya göre bu ifade kanıtlanabilir şekilde yanlış.
“Adresin içine gömülü kimlik bilgisi tüm açık ve özel projelerde yeniden kullanılabilir,” diyor Leon.
Leon, e-posta adreslerinin glimt- yani GitLab Incoming Mail Token öneki içeren bir dize barındırdığını ve her kullanıcının belirteç dizisinin erişimi olan tüm açık ve özel projeler için aynı olduğunu buldu. Açık bir projenin e-posta adresi açığa çıkarsa saldırgan, proje yol takma adını ve proje kimliğini e-postada değiştirerek diğer özel projelere ulaşabilir. Aikido’nun raporu kimliklerin tahmin edilebilir olduğunu ancak saldırganın bir proje adının sızdırılmasına ihtiyaç duyacağını not ediyor.
“Bunu belirli bir projede sorun oluşturmak için bir e-posta adresi olarak sunuyorlar. Açık bir projede çalışıyorsanız bunu dağıtabilirsiniz; bu mantıklı,” diyor Leon. “Ama kimlikle, sadece e-posta adresini düzenleyerek herkesin özel projelerime de kod gönderebileceğini fark etmemiştim. Bu beni şaşırttı.”
Leon ayrıca GitLab e-posta adresleriyle IP adresi kısıtlamalarının da atlatılabildiğini buldu. Özel bir projeyi sahip olmadığı rastgele tek bir IP adresiyle kısıtladı. GitLab kısıtlaması projenin klonlanmasını ya da web tarayıcısıyla erişilmesini engelledi; ancak birleşme istekleri içeren e-posta mesajları bu güvenlik sınırını aştı.
Açığa Çıkmış GitLab E-posta Adresleri Önemli Risk Oluşturuyor
Araştırma kapsamında Leon, birkaç saat süren “son derece kapsamlı olmayan bir arama” yaptı ve ReadMe ve destek dosyalarında kasıtlı olarak açığa çıkmış bir düzine gelen e-posta adresini kolayca buldu. Açığa çıkan adreslerden bazıları popüler açık kaynak projelere ait, diyor Leon.
“Dışarıda daha birçoğu var,” diyor. “Bu kolay avdı.”
Leon, bir saldırganın örneğin bir birleşme isteğiyle kötü amaçlı kodla projeyi zehirlemek için gelen bir e-posta adresini kötüye kullanıp kullanmadığının belirlenmesinin zor olabileceğini de söylüyor. “E-postayla yapıldığının farkı belli değil,” diye ekliyor. “GitLab sunucularına erişiminiz olmalı, varsayarsak bu veriyi topluyorlar.”
Aikido, bulgularını Mayıs ayında HackerOne üzerinden GitLab’a bildirdi; GitLab raporu amaçlanan davranış olarak kapattı. Siber güvenlik firması Haziran’da GitLab deposunda gizli bir sorunla durumu takip etti. GitLab sonunda kullanıcı arayüzünü e-posta adresinin birleşme istekleri için de kullanılabileceğini yansıtacak şekilde değiştirdi ve “Başka hiçbir veriye erişmek için kullanılamaz” ifadesini kaldırdı.
GitLab ayrıca e-posta adreslerinin IP adresi kısıtlamalarına tabi olmadığını kullanıcılara bildirmek için dokümantasyonunu güncelledi.
Leon, görmek istediği en iyi azaltma önleminin gönderen adresinin GitLab hesabındaki adresle eşleşmesi zorunluluğu olduğunu söylüyor; bu, tehdit aktörlerinin yalnızca GitLab adresine değil kullanıcının e-posta hesabını ele geçirmesine ihtiyaç duyması nedeniyle saldırılara önemli bir engel oluşturur.
“Bu, sorunun büyük çoğunluğunu ortadan kaldırır,” diyor.
Leon, GitLab’ın bu değişikliği değerlendirdiğini söylüyor.
Dark Reading yorum için GitLab’a ulaştı ancak şirketin basın zamanında yanıt vermediği belirtildi.
Bu arada Aikido, kuruluşların saldırı yüzeylerini azaltmak için GitLab e-posta adreslerindeki erişim belirteçlerini önceden döndürmelerini ve bu adresleri diğer gizli bilgiler gibi geliştirme ortamlarında ve depolarında taramalarını önerdi.