Apache Tomcat DOS Güvenlik Açığı için POC istismar


Apache Tomcat’ın HTTP/2 uygulamasında (CVE-2025-31650) kritik bir bellek sızıntısı güvenlik açığı, kötü biçimlendirilmiş öncelik başlıkları aracılığıyla kimlik doğrulanmamış hizmet reddi saldırılarını sağlayan silahlandırılmıştır.

Kusur, Tomcat sürümlerini 9.0.76–9.0.102, 10.1.10–10.1.39 ve 11.0.0-m2–11.0.5’i etkiler ve halka açık istismarlar zaten 12 dolaşımdır.

Güvenlik Açığı Mekaniği ve Saldırı Vektörü

Rapora göre, güvenlik açığı, geçersiz olan başarısız HTTP/2 isteklerinin yanlış temizlenmesinden kaynaklanıyor. priority başlıklar.

– Reklamcılık –
Google Haberleri

Tomcat bu kötü biçimlendirilmiş talepleri reddettiğinde:

  1. Akış nesneleri için bellek tahsisleri tam olarak yayınlanmadı
  2. Yığın alanı yavaş yavaş tükeniyor . OutofMemoryerror birikimi.
  3. Sunucu sürekli saldırı altında dakikalar içinde tepkisiz hale gelir

Exploit, şu başlıkları göndererek HTTP/2’nin akış önceliklendirme mekanizmasını kullanır:

textpriority: u=-1, q=NaN

Saldırı komut dosyaları, 22 farklı geçersiz öncelik modeli ile binlerce eşzamanlı istek oluşturur ve ezici Tomcat’ın bağlantı işleyicileri.

Kod Analizi’nden istismar

Halka açık Python POC, saldırı verimliliğini en üst düzeye çıkarmak için eşzamansız istekler kullanır:

pythonasync def send_invalid_priority_request(self, host, port, num_requests, task_id):
    async with httpx.AsyncClient(http2=True) as client:
        for _ in range(num_requests):
            headers = {
                "priority": random.choice(self.invalid_priorities),
                "user-agent": f"TomcatKiller-{task_id}-{random.randint(1,1e6)}"
            }
            await client.get(f"https://{host}:{port}/", headers=headers)

Temel özellikler şunları içerir:

  • 300+ eşzamanlı görev varsayılan olarak
  • 100.000 istek/görev verim
  • Temel tespitten kaçınmak için randomize kullanıcı ajanı dizeleri

Azaltma stratejileri ve sürüm karşılaştırması

Etkilenen versiyonYamalı versiyonYama yöntemi
9.0.76–9.0.1029.0.104Öncelikli Başlık Doğrulama Yeniden Yazma
10.1.10–10.1.3910.1.40Bellek Temizleme Kancaları eklendi
11.0.0-m2-11.0.511.0.6HTTP/2 akış sonlandırma düzeltmeleri

Önerilen Eylemler:

  1. Anında yükseltme Tomcat 9.0.104/10.1.40/11.0.6
  2. Uygulamak Oran Sınırlama (maksimum 100 REQ/IP/saniye)
  3. İzlemek Catalina.out için OutOfMemoryError girişler
  4. İçeren istekleri engellemek için WAF kurallarını kullanın: metin^priority:\s*(u=[^\d]+|q=[^0-9.]+)

Güvenlik ekipleri şu şekilde HTTP/2 desteğini doğrulamalıdır:

bashcurl -vI --http2 https://target:8443/ -o /dev/null

ve izlemek HTTP/2 200 Potansiyel maruziyeti gösteren yanıtlar.

Bu güvenlik açığı, kurumsal web altyapısında protokol uygulama kusurları risklerini vurgulamaktadır.

CVSSV3.1 skoru 7.5 (yüksek) ve dolaşımdaki çalışma istismarları ile kuruluşlar, önemsiz-çalıştırma bellek tükenme saldırılarından yama veya genişletilmiş hizmet kesintilerini riske atmalıdır.

Olay, uygulama sunucularında HTTP/2 uygulamaları için titiz tüy testlerinin öneminin altını çizmektedir.

Siber güvenlik becerilerinizi yükseltmek için 150’den fazla pratik siber güvenlik kursuyla elmas üyeliği alın – buraya kaydolun



Source link