Apache HTTP Sunucusundaki Karmaşa Saldırıları Güvenlik Açığı Saldırganların Uzaktan Kök Erişimi Elde Etmesine İzin Veriyor


Apache HTTP Sunucusu, istemci isteklerini karşılamak için yüzlerce bağımsız olarak geliştirilmiş modüle güvenir ve iletişim için karmaşık bir veri yapısını paylaşır.

Modülerlik uzmanlaşmayı teşvik ederken, standartlaştırılmış arayüzlerin eksikliği ve sistemin muazzam ölçeği, potansiyel güvenlik açıklarını beraberinde getiriyor.

Modüller birbirleriyle ilgili çok az bilgiyle bağımsız olarak geliştikçe, bu modüler ekosistem içindeki karmaşık etkileşimler nedeniyle tutarsızlıklar ve güvenlik riskleri ortaya çıkabilir.

Araştırmacılar, yazılım modüllerinin paylaşılan veri yapılarını nasıl yorumladığı konusundaki belirsizliklerden yararlanan “Karmaşa Saldırısı” adı verilen yeni bir saldırı yüzeyi belirlediler.

Bir HTTP isteğinin çeşitli aşamaları

Saldırganlar, yapı alanlarını kasıtlı olarak kötüye kullanarak sistem davranışını manipüle edebilirler; bu da üç belirli saldırı türünü ortaya çıkarır: Dosya Adı Karmaşası, Belge Kökü Karmaşası ve İşleyici Karmaşası. Bunların hepsi, modüllerin kritik veri öğelerini yanlış anlamasının beklenmeyen sonuçlarından yararlanır.

Saldırı analizinde dokuz ayrı sistem zafiyeti ortaya çıkarıldı.

  1. CVE-2024-38472 – Windows UNC SSRF üzerinde Apache HTTP Sunucusu
  2. CVE-2024-39573 – Apache HTTP Sunucusu proxy kodlama sorunu
  3. CVE-2024-38477 – Apache HTTP Sunucusu: Kötü amaçlı bir istek yoluyla mod_proxy’de Hizmet Reddi ile sonuçlanan çökme
  4. CVE-2024-38476 – Apache HTTP Sunucusu, dahili yönlendirme yoluyla yerel işleyicileri çalıştırmak için istismar edilebilir/kötü amaçlı arka uç uygulama çıktısını kullanabilir
  5. CVE-2024-38475 – Apache HTTP Sunucusu mod_rewrite’da, ikamenin ilk segmenti dosya sistemi yoluyla eşleştiğinde oluşan zayıflık
  6. CVE-2024-38474 – Geri referanslarda kodlanmış soru işaretleriyle Apache HTTP Sunucusu zayıflığı
  7. CVE-2024-38473 – Apache HTTP Sunucusu proxy kodlama sorunu
  8. CVE-2023-38709 – Apache HTTP Sunucusu: HTTP yanıt bölme
  9. CVE-2024-?????? – [redacted]

Apache HTTP Server 2.4.60, temel tasarım kusurlarından kaynaklanan çok sayıda güvenlik açığını giderdi.

Are you from SOC and DFIR Teams? Analyse Malware Incidents & get live Access with ANY.RUN -> Get 14 Days Free Access

Bu sorunların yeni doğası nedeniyle erken keşif, CVE atıfında önemli bir avantaj sağladı; ancak gerekli değişiklikler geriye dönük uyumluluk kesintilerine yol açtı ve hizmet kesintilerini önlemek için dikkatli güncellemeler yapılmasını gerektirdi.

1. Dosya Adı Karmaşası

Apache HTTP Sunucusunun mod_rewrite modülü, yeniden yazılan tüm yolları URL olarak yanlış bir şekilde ele alır ve soru işaretinden sonra bunları keser; bu da saldırganların yol bileşenlerini manipüle ederek amaçlanan dosya erişim kısıtlamalarını aşmalarına ve beklenmeyen dosya türlerine yanlış işleyiciler uygulayarak RewriteFlags’ı kötüye kullanmalarına olanak tanır; bu da potansiyel olarak keyfi kod yürütülmesine yol açabilir.

Apache mod_proxy’nin `r->filename`’i bir URL olarak tutarsız yorumlaması, diğer modüllerin bunu bir dosya sistemi yolu olarak ele almasının aksine, kimlik doğrulama ve erişim denetimi atlamasına olanak tanır.

`Dosyalar` yönergesi gibi dosya tabanlı kısıtlamalarla birleştirildiğinde, saldırganlar kimlik doğrulama kontrollerini atlatarak korumalı dosya adlarına sorgu parametreleri ekleyebilir.

2. DocumentRoot Karışıklığı

Saldırganlar, `DocumentRoot` karışıklık açığından yararlanarak amaçlanan dosya erişim kısıtlamalarını aşabilirler.

Apache HTTP Sunucusu beklenmedik bir şekilde `DocumentRoot` içindeki ve dışındaki dosyalara erişmeye çalışır ve bu da CGI ve PHP betikleri gibi hassas dosyalara erişime olanak tanır.

Sunucu Taraflı Serileştirme!

Saldırganlar bunu istismar ederek URL yapısını manipüle eden istekler oluşturarak kaynak kodunu ifşa edebilir, sunucunun yol yorumlama mantığını etkili bir şekilde karıştırabilir ve dosyaları komut dosyası olarak yürütmek yerine statik içerik olarak sunmasına neden olabilir.

3. İşleyici Karmaşası

Apache HTTP sunucusu eski kodlarından dolayı Karmaşıklık Saldırılarına maruz kalmaktadır.

AddHandler ve AddType adlı iki yönerge, aynı işleyiciyi ayarlayabilir, ancak dahili olarak farklı alanlar kullanırlar ve bu, işleyiciyi geçersiz kılmak ve çeşitli saldırılar gerçekleştirmek için kullanılabilir.

Apache sunucu durumu

Kötü biçimlendirilmiş bir Content-Length başlığı göndererek saldırganlar ModSecurity’nin çift yanıt göndermesini tetikleyebilir, bu da Content-Type’ı yanlışlıkla text/html olarak üzerine yazarak PHP kaynak kodunu sızdırabilir.

Orange’a göre saldırganlar, CGI’nin Yerel Yönlendirme Yanıtı davranışını İçerik Türü başlığını kontrol etmek ve Apache’yi keyfi işleyicileri çağırması için kandırmak amacıyla kullanabilirler; bu da bilgi ifşasına, betiğin yanlış yorumlanmasına, tam SSRF’ye, RCE’ye vb. yol açabilir.

Apache HTTP Sunucusu, CVE-2024-38472’nin apr_filepath_merge()’deki Windows UNC yollarını istismar ederek, HTTP istek ayrıştırıcısı veya Tür Eşlemesi aracılığıyla tetiklenen, keyfi ana bilgisayarlarda NTLM kimlik doğrulama zorlaması yapmasına izin veren Karmaşa Saldırılarının ötesinde ek güvenlik açıkları içerir.

CVE-2024-39573, istekleri mod_proxy’ye yönlendirmek için RewriteRule önekleri üzerinde tam kontrol sağlar ve olası SSRF saldırılarına olanak tanır. Bu güvenlik açığı başlangıçta pratik olmadığı düşünülse de, UNC tabanlı SSRF keşfinden sonra önem kazandı.

Download Free Cybersecurity Planning Checklist for SME Leaders (PDF) – Free Download



Source link