Horizon3.ai araştırmacıları, güvensiz bir varsayılan yapılandırma sorununun (CVE-2023-27524) internete açık Apache Superset sunucularının çoğunu saldırganlara karşı savunmasız hale getirdiğini keşfetti.
Apache Superset örneklerinden sorumlu yöneticiler, bunların o grup arasında olup olmadığını kontrol etmeli, bunları sabit bir sürüme yükseltmeli ve saldırganların bunları ihlal etmek için zayıflığı kullanıp kullanmadıklarını kontrol etmelidir.
Apache Superset ve yaygın istismar edilebilir zayıflık
Apache Superset, genellikle çeşitli veritabanlarıyla entegre olan bir veri araştırma ve görselleştirme platformudur.
Sorun, Flask tabanlı web uygulamasının, kullanıcı durumu yönetimi için oturum tanımlama bilgilerini kriptografik olarak imzalamak için varsayılan bir gizli anahtar kullanması ve birçok kullanıcının kurulumdan sonra bu anahtarı değiştirmemesi gerçeğinde yatmaktadır.
“Web uygulamasının güvenliği, kritik olarak SECRET_KEY’in gerçekten gizli olmasını sağlamaya bağlıdır. Horizon3.ai’nin baş mimarı Naveen Sunkavally, “SECRET_KEY açığa çıkarsa, önceden ayrıcalıkları olmayan bir saldırgan kendi tanımlama bilgilerini oluşturup imzalayabilir ve meşru bir kullanıcı kılığına girerek uygulamaya erişebilir” dedi.
“Hazır şişe imzalama aracı bu işi otomatikleştiriyor: zayıf bir SECRET_KEY tarafından imzalanıp imzalanmadığını keşfetmek için bir oturum tanımlama bilgisini ‘kırmak’ ve ardından bilinen bir SECRET_KEY kullanarak sahte ama geçerli bir oturum tanımlama bilgisi oluşturmak.”
ile bir oturum tanımlama bilgisi oluşturduktan sonra Kullanıcı kimliği veya _Kullanıcı kimliği değeri 1’e (genellikle yönetici hesabıyla ilişkilendirilen bir değer) ayarlandığında, saldırgan tanımlama bilgisini tarayıcının yerel deposuna koyabilir ve sayfayı yenileyebilir ve orada olurlar: web uygulamasına yönetici erişimi vardır.
Sunkavally, “Web uygulamalarına yönelik yönetimsel arabirimler genellikle zengin özelliklere sahiptir ve uygulama sunucusunda uzaktan kod yürütülmesine neden olur” diye ekledi.
“Çeşitli yapılandırmalardaki farklı Superset sürümlerinde uzaktan kod yürütmeye yönelik güvenilir yollar bulduk. Hem Superset’e bağlı veritabanlarında hem de Superset sunucusunun kendisinde uzaktan kod yürütme mümkündür. Kimlik bilgilerini toplamak için bir dizi yöntem de bulduk. Bu kimlik bilgileri, hem düz metin hem de tersine çevrilebilir biçimde Superset kullanıcı parola karmalarını ve veritabanı kimlik bilgilerini içerir.
Bir düzeltme var!
Araştırmacılar, kusuru Ekim 2011’de bildirdiler ve Apache Superset ekibi, varsayılan SECRET_KEY’i değiştirerek ve kullanıcılara onu rastgele, karmaşık bir anahtarla değiştirmenin gerekliliği hakkında bir uyarı ekleyerek sorunu çözdü.
Apache Superset ekibinin kullanıcılara uyarısı (Kaynak: Horizon3.ai)
Ancak uyarı pek çok kişi tarafından dikkate alınmadı: Araştırmacılar kısa bir süre önce Shodan ile birlikte bu güvensiz yapılandırmaya sahip kaç tane Apache Superset kurulumu olduğunu görmek için İnternet’i taradılar ve örneklerin üçte ikisinin (yani 2124) varsayılan bir anahtar () kullandığını buldular. birincisi, ikincisi veya dağıtım şablonlarında ve belgelerde bulunan iki ekten biri).
Sunkavally, “Kullanıcıların belgeleri okumadığı ve uygulamaların, kullanıcıları varsayılan olarak güvenli olmaktan başka seçeneklerinin olmadığı bir yola zorlamak için tasarlanması gerektiği genel olarak kabul edilir,” yorumunda bulundu.
Bu nedenle, Superset ekibi değişikliği zorlamaya karar verdi: web uygulamasının v2.1’i, varsayılan bir SECRET_KEY ile yapılandırılmışsa sunucunun başlatılmasına izin vermiyor.
Ancak Sunkavally, bir docker-compose dosyası veya bir dümen şablonu aracılığıyla yüklendiyse, Superset’i varsayılan bir SECRET_KEY ile çalıştırmanın hala mümkün olduğu konusunda uyardı. “Bazı yapılandırmalar ayrıca admin/admin’i yönetici kullanıcı için varsayılan kimlik bilgisi olarak ayarlar” diye ekledi.
Bu iyileştirmenin zamanla internette daha az sayıda savunmasız Apache Superset örneğine yol açıp açmayacağını şimdi göreceğiz.
Araştırmacılar, kusuru bulup bildirerek ve etkilenen bir dizi kuruluşu bilgilendirerek üzerlerine düşeni yaptılar. Ayrıca, izinsiz giriş kanıtının nasıl aranacağına dair düzeltme talimatları ve tavsiyeler sağladılar.