3 Haziran 2026’da araştırmacı Quang Luong, “HTTP/2 Bombası” adını verdiği uzaktan servis dışı bırakma açığını yayımladı. Açık, sıradan bir ev internet bağlantısından on gigabayt sunucu belleğini saniyeler içinde tüketebiliyor. Güvenlik açığı aynı gün oss-security listesine de iletildi ve nginx, Apache httpd, Microsoft IIS, Envoy ile Cloudflare Pingora’yı varsayılan HTTP/2 yapılandırmalarında etkiliyor.

Apache httpd kolu için CVE-2026-49975 tanımlayıcısı atandı.

Saldırı nasıl çalışıyor

Açık, her biri yaklaşık on yıldır ayrı ayrı bilinen iki tekniği, bu sunuculara karşı daha önce hiç birleştirilmemiş bir şekilde kullanıyor.

Birinci bileşen HPACK sıkıştırma bombası. HTTP/2, RFC 7541 ile tanımlanan durumsal bir başlık sıkıştırma şeması kullanır: gönderici bir başlığı paylaşılan dinamik tabloya bir kez ekler, sonraki her istekte tek baytlık bir indeks referansıyla gönderir. Alıcı taraf ise her referansta başlığın tam halini yeniden oluşturmak zorundadır. Saldırgan tabloyu büyük bir başlıkla doldurur, ardından tek bir istekte binlerce tek baytlık referans gönderir — saldırgan tarafta referans başına 1 bayt, sunucu tarafında ise nginx’te ~70 bayt, Apache httpd’de ~4.000 bayt bellek tahsisi anlamına gelir.

İkinci bileşen bu tahsisleri bellekte kilitler. HTTP/2 akış kontrolü, istemcinin sıfır baytlık bir alış penceresi bildirmesine izin verir; bu da sunucunun yanıtını hiçbir zaman tamamlayamamasına neden olur. Saldırgan, 1 baytlık WINDOW_UPDATE çerçeveleri göndererek gönderme zaman aşımını sürekli sıfırlar ve tahsis edilen tüm belleği istediği süre boyunca canlı tutar.

İki tekniğin birleşimi ciddi amplifikasyon oranları üretiyor:

SunucuAmplifikasyonÖlçülen sonuç
Envoy 1.37.2~5.700:1~32 GB / ~10 saniye
Apache httpd 2.4.67~4.000:1~32 GB / ~18 saniye
nginx 1.29.7~70:1~32 GB / ~45 saniye
Microsoft IIS (Windows Server 2025)~68:1~64 GB / ~45 saniye

Araştırmacıların açıklama sırasında gerçekleştirdiği Shodan taraması, 880.000’den fazla kamuya açık sunucunun bu platformlarda HTTP/2 etkin olarak çalıştığını gösterdi.

Apache özelinde teknik bir ayrıntı: RFC 9113, bir Cookie başlığının her çerez parçası için ayrı bir alan olarak bölünmesine izin veriyor. Apache, bu parçaları LimitRequestFields sayacına dahil etmiyordu. Saldırı bunu atlatma vektörü olarak kullanıyor; Apache her parça için birleşik çerez dizesini baştan oluşturduğundan eski kopyalar akış temizlenene kadar bellekte kalıyor.

Kim buldu ve nasıl

Quang Luong, Codex adlı yapay zeka sistemini kullanarak sunucu kod tabanlarını okuttu, on yıldır ayrı ayrı bilinen iki tekniğin birleştirilebileceğini tespit etti ve çalışan bir kavram kanıtı kodu geliştirdi. Saldırı daha sonra Jun Rong ve Duc Phan tarafından diğer platformlara karşı da doğrulandı. Araştırma ekibi durumu şöyle özetliyor: “Görünce apaçık ortada — ama beş bağımsız uygulama aynı hatayı yaptıysa sorun spesifikasyondadır.”

Gerçekten de RFC 7541’in §7.3 bölümü bellek riskini yalnızca amplifikasyon oranı üzerinden değerlendiriyor ve SETTINGS_HEADER_TABLE_SIZE‘ı yeterli bir koruma olarak sunuyor. Ayırıcı (allocator) meta verilerinden kaynaklanan fazladan bellek yükünü tamamen görmezden geliyor. Beş farklı ekip aynı bölümü okudu ve aynı hataya düştü.

Yamalar ve geçici önlemler

nginx: 1.29.8 veya daha yeni bir sürüme yükseltin. Bu sürüm, varsayılan olarak 1.000 başlık sınırı getiren max_headers direktifini içeriyor. Hemen yükseltemiyorsanız yapılandırmanıza http2 off; ekleyin.

Apache httpd: Düzeltme, mod_http2 v2.0.41’de mevcut ve bağımsız sürüm deposundan indirilebilir. Yama, çerez parçalarını LimitRequestFields sayacına dahil ediyor. Bu düzeltme henüz 2.4.x dağıtım paketlerine girmedi; mod_http2’yi bağımsız olarak yüklemeniz ya da dağıtım paketlerini beklemeniz gerekiyor. Bunu yapamıyorsanız, VirtualHost bloklarınıza Protocols http/1.1 ekleyerek HTTP/2’yi devre dışı bırakın. Not: LimitRequestFieldSize değerini düşürmek kısmen azaltma sağlar ama saldırıyı engellemez.

Microsoft IIS / Envoy / Cloudflare Pingora: Yazı tarihi itibarıyla yama mevcut değil. Operasyonel açıdan mümkünse HTTP/2’yi devre dışı bırakın; değilse istek başına başlık sayısını sınırlayan bir proxy önüne koyun.

Tüm platformlar: Cgroups, ulimit -v veya konteyner kaynak sınırları aracılığıyla çalışan süreç başına bellek tavanı belirleyin. OOM nedeniyle öldürülen ve yeniden başlayan bir işçi, saldırganın tüm makineyi swap’a gömdüğü senaryodan çok daha iyi bir başarısızlık modudur.

Çalışan kavram kanıtı kodları, Docker laboratuvar ortamları ve sunucu başına teknik analizler Codex GitHub deposunda yayımlandı. Açıklama tarihi itibarıyla aktif istismar kanıtına rastlanmadı; ancak kamuya açık PoC, açığı silah haline getirmek isteyenler için teknik engeli önemli ölçüde düşürüyor.

kalfaoglu.net müşterilerine ne anlam ifade ediyor

HTTP/2 etkin Apache httpd üzerinde kendi VPS ya da sunucunuzu yönetiyorsanız hemen harekete geçmeniz gerekiyor. Apache düzeltmesi henüz dağıtım depoları aracılığıyla gelmiyor; ya mod_http2 v2.0.41’i elle yüklüyorsunuz ya da geçici önlem olarak HTTP/2’yi devre dışı bırakıyorsunuz.

kalfaoglu.net tarafından yönetilen paylaşımlı hosting altyapısı, kritik açıklamalara standart yanıt sürecimiz kapsamında ele alınmaktadır. Kendi sunucunuzu yönetiyorsanız ve HTTP/2’nin etkin olup olmadığından emin değilseniz:

apachectl -M | grep http2

Çıktıda http2_module görünüyorsa sunucunuz etkileniyor. nginx için:

nginx -V 2>&1 | grep -o 'http_v2'

Ekosistem için kalıcı çözüm, sunucu sağlayıcılarının hem çözümlenmiş başlık boyutu hem de başlık sayısı sınırını zorunlu kılmasını ve WINDOW_UPDATE etkinliğinden bağımsız olarak askıya alınmış akış ömürlerini sınırlandırmasını gerektiriyor. Spesifikasyon bu noktayı atlıyor ve beş kod tabanını aynı anda okuyan bir yapay zekanın boşluğu görünür kılması gerekti.


Kaynaklar: Codex HTTP/2 Bombası yazısı · oss-security açıklaması · Cyber Security News · Daily Security Review