QPACK Nedir ve Açık Nasıl İşliyor?
HTTP/3, tekrar eden başlık alanlarını tam metin yerine kısa bir kod olarak iletmek için QPACK adlı sıkıştırma şemasını kullanır. Sunucunun, bu başlıkları bellekte açtıktan sonra boyutlarını sınırlaması gerekir. Ancak etkilenen yığınlar, kısıtlamayı yalnızca ağ üzerinden gelen sıkıştırılmış pakete uygulayıp açılmış sonuca uygulamıyor ya da sınırı çok geç devreye sokuyor. Bu durum, tek bir isteğin sunucu belleğinde yüz binlerce başlık girişine dönüşmesine zemin hazırlıyor.HTTP/3'ün UDP üzerinden çalışması, saldırı paketlerinin olağan ağ filtrelerinin büyük bölümünü atlamasını sağlıyor. FoxIO'nun açıkladığı açıklar yalnızca hizmet dışı bırakma saldırısına (DoS) olanak tanıyor; veri çalınması ya da uzaktan kod çalıştırma gibi bir etki gözlemlenmedi ve kamuoyuna yansımış gerçek bir saldırı vakası da henüz bulunmuyor.
Bellek Amplifikasyonu: Rakamlar Ne Kadar Büyük?
FoxIO'nun varsayılan ayarlarla yürüttüğü testlerde, quic-go üzerinde 1 MB'lık sıkıştırılmış bir paket yaklaşık 160.000 başlık alanına açılarak bellekte yaklaşık 15 MB yer kapladı; bu, gönderilen verinin yaklaşık 17 katına karşılık geliyor. quic-go'nun kendi güvenlik duyurusunda ise bu oranın 50 kata kadar çıkabileceği belirtiliyor.Daha yüksek amplifikasyon için ikinci bir yöntem de mevcut: Saldırgan yaklaşık 4 KB'lık tek bir başlık girişini depoluyor, ardından bu girişe tek baytlık referanslarla binlerce kez işaret ediyor; sunucu her referansta girişin tamamını yeniden oluşturmak zorunda kalıyor. FoxIO'nun ölçümlerine göre bu yöntemde Bun'da yaklaşık 4.000 kat, lsquic'te ise 600 ile 1.800 kat arasında amplifikasyon elde edildi.
Bun'daki Kritik Durum: Sonsuz Döngü ve Yüzde Yüz CPU
Bun, en ağır senaryoyu barındırıyor. Bun'un HTTP/3 sunucusu, belgelerde deneysel olarak nitelendirilen bir yapıya sahip ve lsquic üzerine inşa edilmiş olmakla birlikte başlık belleğini sınırlayan bölüm Bun'un kendi koduna bırakılmış. Bu kod her başlığı tek tek denetliyor ancak kümülatif toplamı hiçbir zaman kontrol etmiyor. FoxIO'nun tespitine göre açılan başlıklar 2 GB sınırını aştığında bir boyut sayacı sıfıra taşıyor ve sunucu asla çıkamayacağı bir döngüye giriyor. Ağ üzerinden yaklaşık 516 KB'lık tek bir akış, sunucuyu yüzde yüz CPU kullanımıyla kilitleyip yeni istekleri engeller hale getiriyor. lsquic'in kendi 64 KB sınırı bu taşmayı önlüyor; ancak Bun bu korumayı devre dışı bırakmış.Hangi Yığınlar Etkilendi, Hangileri Yamalandı?
quic-go, Cloudflare quiche, lsquic ve Wireshark için yamalar yayımlandı. quic-go 0.57.0 sürümüyle CVE-2025-64702 kapsamında, Cloudflare quiche 0.29.3 sürümüyle CVE-2026-12523 kapsamında, lsquic 4.9.0 sürümüyle (CVE numarası atanmadan) ve Wireshark 4.6.2 ile 4.4.12 sürümleriyle CVE-2025-13945 kapsamında düzeltildi. Bun, h3 Rust kütüphanesi (hyperium) ve aioquic/mitmproxy ise 22 Ekim 2026 itibarıyla hâlâ yamasız durumda ve bu üç yığın için herhangi bir CVE numarası atanmamış.quic-go, Caddy, Traefik ve cloudflared gibi yaygın yazılımların altında yer alan Go kütüphanesidir. lsquic ise LiteSpeed Web Server ve OpenLiteSpeed'in temelini oluşturuyor; Bun'un HTTP/3 sunucusu da lsquic üzerine kurulu. Bu bağımlılık zinciri, açığın etki alanını oldukça genişletiyor.
IIS, Envoy, ngtcp2/nghttp3 ve Google'ın quiche'i etkilenmeyenler arasında yer alıyor. FoxIO bu dört yığının başlıkları kod çözme aşamasında, yani açılmış sonucu beklemeden sınırladığını açıkladı.
Wireshark'ın durumu sunucu açıklarından farklı. Bu açık, Wireshark'ın HTTP/3 trafiğini ayrıştıran dissector bileşenini etkiliyor ve yalnızca anahtar günlük dosyasıyla şifresi çözülen ya da şifre çözme bilgisi içeren bir yakalama dosyası açıldığında tetikleniyor. Ağ üzerinden erişilebilen bir sunucu söz konusu değil. Wireshark, bu sorun için bilinen bir istismar bulunmadığını belirtti.
Geçici Önlemler ve Tavsiyeler
FoxIO, yamayı henüz yayımlamayan yığınlar için geçici adımlar öneriyor: Bun kullanıcıları HTTP/3 sunucusunu dışarıya açmamalı; mitmproxy kullanıcıları --set http3=false parametresiyle HTTP/3'ü devre dışı bırakmalı; h3 Rust kütüphanesi kullanıcıları ise max_field_section_size ayarıyla makul bir sınır belirlemelidir. lsquic'in 16 Temmuz 2026'da yayımlanan düzeltmesi, sunucunun akış başına bellekte tuttuğu açılmış başlık kümesi sayısını varsayılan olarak bire indiriyor.FoxIO, bu çalışmanın Gal Bar Nahum'un HTTP/2'ye yönelik "MadeYouReset" hizmet dışı bırakma tekniği üzerine yürüttüğü araştırmanın ardından, HTTP/3'ün başlık sıkıştırmasında benzer bir zafiyetin var olup olmadığı sorusundan doğduğunu belirtti.

Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yorumlar (0)
Yorum yapmak için giriş yapmalısınız.