Araştırmacılar, popüler bir Java framework olan Spring’de kritik güvenlik açığı buldu. İşte nasıl çalıştığı, neden tehlikeli olduğu ve ondan nasıl korunacağı.
Araştırmacılar , Java platformu için açık kaynaklı bir framework olan CVE-2022-22965’te kritik bir güvenlik açığı keşfettiler. Ne yazık ki, güvenlik açığı ile ilgili ayrıntılar resmi duyuru yayınlanmadan ve ilgili yamalar yayınlanmadan önce kamuoyuna sızdırıldı.
Güvenlik açığı, birçok web uygulaması için potansiyel olarak ciddi bir tehdit oluşturması nedeniyle bilgi güvenliği uzmanlarının hemen dikkatini çekti. Aşırı abartılmış Log4Shell’e benzer şekilde , yeni güvenlik açığı Spring4Shell olarak adlandırıldı.
VMware Spring framework yaratıcıları, güvenlik açığı bulunan uygulamaları düzeltmek için zaten yamalar yayınlamıştır, bu nedenle Spring Framework sürüm 5.3 ve 5.2 kullanan tüm şirketlerin derhal 5.3.18 veya 5.2.20 sürümlerine yükseltmelerini öneririz.
Spring4Shell nedir ve bu güvenlik açığı neden bu kadar tehlikelidir?
Güvenlik açığı RCE sınıfına aittir, yani bir saldırganın uzaktan kötü amaçlı kod yürütmesine izin verir. Şu anda CVSS v3.0 hesaplayıcısına göre önem derecesi 10 üzerinden 9,8’dir. Güvenlik açığı, Java Development Kit sürüm 9 veya üstü altında çalışan Spring MVC ve Spring WebFlux uygulamalarını etkiler.
Araştırmacılar, Salı gecesi VMware’e karşı keşfedilen güvenlik açığını bildirdiler, ancak Çarşamba günü güvenlik açığı için konsept kanıtı GitHub’da yayınlandı. PoC, güvenlik uzmanları tarafından fark edilene kadar (bazıları güvenlik açığının tehlikesini doğrulayana kadar) hızla kaldırıldı. Ve bu kadar güçlü bir istismarın siber suçlular tarafından fark edilmemesi pek olası değildir.
Spring framework , Java geliştiricileri arasında oldukça popülerdir, bu da potansiyel olarak birçok uygulamanın savunmasız olabileceği anlamına gelir.
Spring4Shell güvenlik açığından İSTİSmar koşulları
Yayınlandığı tarihte bilinen tek Spring4Shell yararlanma yöntemi, belirli bir koşulların bir araya gelmesini gerektirir. İstismarın başarılı olması için saldırıya uğrayan tarafta aşağıdaki bileşenler kullanılmalıdır:
- Java Geliştirme Kiti sürüm 9 veya üzeri;
- Bir sunucu uygulaması kapsayıcısı olarak Apache Tomcat;
- varsayılan JAR yerine WAR (Web Uygulama Kaynağı) dosya formatı;
- Spring-webmvc veya spring-webflux’a bağımlılıklar;
- 5.3.0 ila 5.3.17, 5.2.0 ila 5.2.19 veya daha eski sürümleri.
Bununla birlikte, henüz bilinmeyen istismar seçeneklerinin olması ve aynı güvenlik açığından başka bir şekilde yararlanılması oldukça olasıdır.
Kendinizi Spring4Shell’den nasıl korursunuz
Spring framework kullanan herkes için ana tavsiye, güvenli 5.3.18 veya 5.2.20 sürümlerine yükseltmektir.
Apache Software Foundation, saldırı vektörünün Tomcat tarafında kapalı olduğu Apache Tomcat 10.0.20, 9.0.62 ve 8.5.78’in yamalı sürümlerini de yayınladı.
Spring geliştiricileri , Spring Framework 5.3.18’in yamalı sürümüne bağlı olan Spring Boot 2.5.12 ve 2.6.6 uzantılarının yamalı sürümlerini de yayımladı.
Spring4Shell Güvenlik Açığı Nasıl Kullanılır? Exploit Kodunun Herhangi Bir Örneği Var mı?
Tipik bir istismar için Theader:
- spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec(“{cmd}”)’
Hem Spring4Shell hem de CVE-2022-22963 için çeşitli PoC açıkları GitHub depolarında mevcuttur.
SECROMİX SİBER GÜVENLİK HİZMETLERİ
Doğal olarak, davetsiz bir misafir iyi kilitlenmiş bir kapıyı açmak için aylar harcamak istemez, ancak güvenliğin öncelikli olmadığı bilgi sistemlerinde zayıf noktaları ve güvenlik açıklarını arayacaktır. Küçük gibi görünen güvenlik açıkları büyük sorunlarına neden olabilir ve sisteminizin tehlikeye girmesine neden olabilir. Bu sorunları ortadan kaldırmanın ve azaltmanın en iyi yolu sızma testleri (pentest / Penetration Test) yaptırmaktır.
Şirket veya firmanızın olası tehlike, ihlalleri önlemek ve mevcut güvenlik kontrollerini her bir saldırgana karşı güçlendirmek ve savunmasını en üst düzeye çıkartmak için SecroMix ekibi, özel ağ altyapısını ve uygulamalarını hedefleyen çok aşamalı bir saldırı planına dayanan Sızma testi hizmetleri vermektedir.