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.
.png
)
Tomcat bu kötü biçimlendirilmiş talepleri reddettiğinde:
- Akış nesneleri için bellek tahsisleri tam olarak yayınlanmadı
- Yığın alanı yavaş yavaş tükeniyor . OutofMemoryerror birikimi.
- 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 versiyon | Yamalı versiyon | Yama yöntemi |
---|---|---|
9.0.76–9.0.102 | 9.0.104 | Öncelikli Başlık Doğrulama Yeniden Yazma |
10.1.10–10.1.39 | 10.1.40 | Bellek Temizleme Kancaları eklendi |
11.0.0-m2-11.0.5 | 11.0.6 | HTTP/2 akış sonlandırma düzeltmeleri |
Önerilen Eylemler:
- Anında yükseltme Tomcat 9.0.104/10.1.40/11.0.6
- Uygulamak Oran Sınırlama (maksimum 100 REQ/IP/saniye)
- İzlemek Catalina.out için
OutOfMemoryError
girişler - İç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