Geri Dön
Google, yetkilendirme olmadan kod yürütmeye izin veren DevSite güvenlik açığını düzeltmek için iki ay harcadı
SiTech AI Team3 dk okuma

Google, yetkilendirme olmadan kod yürütmeye izin veren DevSite güvenlik açığını düzeltmek için iki ay harcadı

Saldırgan, yeni kullanılan OAuth istemci gizli anahtarıyla Flask oturum çerezlerini kırmayı ve Python kodunu, developers.google.com ve altı belge sitesinin barındırıldığı DevSite sunucularında çalıştırmayı başardı.

Yeni kullanılan gizli anahtar uzaktan kod yürütmeye olanak sağladı

Google, developers.google.com ve birkaç belge sitesinin barındırıldığı platformda DevSite'daki yetkilendirmesiz uzaktan kod yürütme (RCE) açığını düzeltti. Google tarafından S0, tehdit ölçeğinin en yüksek seviyesi olarak sınıflandırılan bu açığı, Otark GmbH yazılım mühendisi Simon Köck keşfetti.

Temel neden, yeni kullanılan OAuth istemci gizli anahtarıydı. DevSite, Flask oturum çerezinde Google'ın oauth2client kütüphanesinin serileştirilmiş OAuth2WebServerFlow nesnesini saklıyordu; şirket bunu google-auth için yeniden kullandı ve bu sayede anahtar sızdırıldı. Aynı anahtar, Google DevSite oturum imzalama anahtarı olarak da kullanılıyordu; Köck bunu çerez imzasının çevrimdışı kopyalanmasıyla doğruladı.

Ele geçirilen oturumlar yedi alanda alındı

Köck, ele geçirilen oturumların iki farklı imzalama anahtarına bağlı yedi ihlal edilmiş alanda alındığını onayladı. Kod yürütmeyi üçünde gösterdi: developers.google.com, docs.partner.android.com ve web.dev. Yetkilendirmesiz RCE, Python sleep yüküyle test edildi ve yanıt gecikmeleri ölçüldü; ancak açıkça komut çalıştırma, dosyalara, veriye veya dahili hizmetlere erişimden kaçındı.

“Bunu özel olarak ciddi bir RCE olarak nitelendirirdim, çünkü herhangi bir hesap veya hedef kurgulamasına gerek kalmadan herkes erişebiliyordu,” diye Köck, The New Stack'e açıkladı.

Google 90.000 dolar ödül ödedi: 75.000 dolar, şirketin uygulamanın normal seviyesi olarak değerlendirdiği S0 seviyesi RCE için temel ödeme, hesap'ın olağanüstü kalitesi için 1,2 ile çarpılmıştı.

Pickle'in seri durumdan çıkarma zinciri tamamlandı

OAuth geri çağırma oturum verilerinin seri durumdan çıkarılması için Python'un pickle'ı kullanılıyordu. Köck, flow nesnesini kötü amaçlı bir pickle yüküyle değiştirdi, ele geçirilen çerezi imzaladı ve geri çağırmayı tetikledi. Zincir için üç hata bir arada olmalıydı: çerezde sızdırılan anahtar, aynı anahtarın imzalama anahtarı olarak yeniden yüklenmesi ve oturum verilerinin güvensiz seri durumdan çıkarma. Bunlardan herhangi birinin düzeltilmesi zinciri kırdı.

İki ay düzeltme süresinde, cevapsız sorular kalıyor

Köck açığı 6 Ağustos'ta bildirdi, Google ise iki gün sonra kabul etti. Ödül 27 Ağustos'ta onaylandı, ancak düzeltme yalnızca 7 Ekim'de gerçekleşti. Google iki aylık süreyi açıklamadı, geçici azaltıcı önlemler alınıp alınmadığı, sızdırılan iki OAuth istemci gizli anahtarından herhangi birinin yenilenip yenilenmediği ve mevcut oturumların iptal edilip edilmediği belirsiz. Köck, adli analiz asla paylaşılmadığını ve Google'ın düzeltmeden önce istismar kanıtı bulup bulmadığını bilmediğini belirtiyor. Bu güncelleme için Google'dan yorum istenmesine cevap verilmedi.

Singapur araştırmacısı Arvin Shivram, @brutecat takma adıyla bilinen ve kendi sayımıyla 130'den fazla Google açığını bildirmiş, App Engine'in dahili uygulamalarının sık sık Google'ın dahili servisler arası iletişim sistemi olan Stubby'ye erişimine dikkat çekti. Köck, bu erişimin “saldırı yüzeyinin önemli bir parçası olabileceğini” kabul etti ancak bu özel DevSite sürecine ne erişilebileceğini onaylamadı. Ayrıca, değiştirilmiş kurulum komutları veya indirme bağlantılarının tedarik zinciri kesintisine yol açabileceği belge içeriğine yazma izni de elde edemedi. Onun sayımıyla, gösterilen etki alanı üç hostta kod yürütme ve yedi alanda ele geçirilen oturumlardır; Google'ın dahili servislerine giden yollar da dahil tam saldırı alanı hala onaylanmamış.

Kaynaklar: Thenewstack

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.