Google, GitHub'da bir güvenlik açığını ortaya çıkardı

Project Zero, GitHub'da ciddi bir güvenlik ihlalinin ayrıntılarını yayınladı ve bunu rapor ediyorlar hata, eylem iş akışı komutlarını etkiler GitHub'dan ve yüksek önem derecesi olarak tanımlanıyor. (Bu hata Temmuz'da keşfedildi, ancak standart 90 günlük ifşa süresi kapsamında ayrıntılar yalnızca şimdi yayınlandı.)

Bu kusur, düzeltilmeyen birkaç güvenlik açığından biri oldu Google Project Zero tarafından verilen standart 90 günlük süre dolmadan uygun şekilde.

Felix Wilhelm'e göre Project Zero ekibinin üyesi olan (kim keşfetti), kusur, geliştiricilerin çalışmalarını otomatikleştiren bir araç olan GitHub'ın eylem işlevini etkiliyor. Bunun nedeni, Eylemler iş akışı komutlarının "enjeksiyon saldırılarına karşı savunmasız" olmasıdır:

"Eylemler Github, Eylem aracısı ile yürütülen eylem arasında bir iletişim kanalı olarak iş akışı komutları adı verilen bir özelliği destekler. İş akışı komutları / src / Runner.Worker / ActionCommandManager.cs içinde uygulanır ve iki komut işaretleyicisinden birini arayarak gerçekleştirilen tüm eylemlerin STDOUT'u ayrıştırarak çalışır.

Bahset bu özelliğin en büyük sorunu, enjeksiyon saldırılarına karşı çok savunmasız olmasıdır. Yürütme işlemi, STDOUT'ta yazdırılan her satırı iş akışı komutları için taradığından, yürütmesinin bir parçası olarak güvenilmeyen içerik içeren her GitHub eylemi savunmasızdır.

Çoğu durumda, rastgele ortam değişkenlerini ayarlama yeteneği, başka bir iş akışı çalışır çalışmaz uzaktan kod yürütülmesine neden olur. Popüler GitHub depolarına bakmak için biraz zaman harcadım ve biraz karmaşık GitHub eylemleri kullanan hemen hemen her proje bu tür bir hataya karşı savunmasızdır.

Posteriormente, hatanın nasıl kullanılabileceğine dair bazı örnekler verdi ve ayrıca bir çözüm önerdi:

"Bunu düzeltmenin en iyi yolunun ne olduğundan gerçekten emin değilim. İş akışı komutlarının uygulanma şeklinin temelde güvensiz olduğunu düşünüyorum. V1 komut sözdiziminin ortadan kaldırılması ve bir izin listesi ile güçlendirilenet-env, muhtemelen doğrudan RCE vektörlerine karşı çalışacaktır.

Ancak, sonraki adımlarda kullanılan 'normal' ortam değişkenlerini geçersiz kılma yeteneği bile muhtemelen daha karmaşık eylemlerden yararlanmak için yeterlidir. Çalışma alanındaki diğer kontrollerin güvenlik etkisini de analiz etmedim.

Dahasıuzun vadeli iyi bir çözümden bahsedin STDOUT ile ayrıştırmadan kaçınmak için iş akışı komutlarını ayrı bir kanala (örneğin yeni bir dosya tanımlayıcı) taşımak olacaktır, ancak bu mevcut birçok eylem kodunu bozacaktır.

GitHub'a gelince, geliştiricileri 1 Ekim'de bir tavsiye yayınladılar ve savunmasız komutları kullanımdan kaldırdılar, ancak Wilhelm'in bulduğu şeyin aslında "orta düzeyde bir güvenlik açığı" olduğunu savundu. GitHub, CVE-2020-15228 hata tanımlayıcısını atadı:

“GitHub Eylemleri çalışma zamanında, güvenilmeyen verileri STDOUT'a kaydeden iş akışlarına yolların ve ortam değişkenlerinin eklenmesine izin verebilecek orta düzeyde bir güvenlik açığı belirlendi. Bu, iş akışı yazarının niyeti olmadan ortam değişkenlerinin kullanılmasına veya değiştirilmesine yol açabilir.

"Bu sorunu çözmemize yardımcı olmak ve ortam değişkenlerini dinamik olarak ayarlamanıza izin vermek için, iş akışlarındaki ortam ve yol güncellemelerini işlemek için yeni bir dosya grubu ekledik.

“Kendi kendine barındırılan aracılar kullanıyorsanız, bunların sürüm 2.273.1 veya üstüne güncellendiğinden emin olun.

Wilhelm'e göre, 12 Ekim'de Project Zero, GitHub ile iletişime geçti ve GitHub savunmasız komutları devre dışı bırakmak için daha fazla zaman isterse proaktif olarak onlara 14 günlük bir pencere sundu. Elbette teklif kabul edildi ve GitHub, 19 Ekim'den sonra savunmasız komutları devre dışı bırakmayı umuyordu. Ardından Project Zero, 2 Kasım olarak yeni ifşa tarihini ayarlayın.

kaynak: https://bugs.chromium.org


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.