Güvenlik firması FoxIO, HTTP/3 protokolünün başlık sıkıştırma katmanı QPACK'te yedi farklı yazılım yığınını etkileyen açıklar keşfetti. Açıklar, kimlik doğrulaması gerektirmeden sunucuları çökertebilecek düzeyde bellek tüketimine yol açıyor; üç yığın hâlâ yamasız.
Yazılım ve Uygulamalar
Admin1 okunma

QPACK Açıkları HTTP/3 Sunucularını Çökertebiliyor: Bellek 4.000 Kat Şişiyor

Güvenlik firması FoxIO, HTTP/3 protokolünün başlık sıkıştırma katmanı QPACK'te yedi farklı yazılım yığınını etkileyen açıklar keşfetti. Açıklar, kimlik doğrulaması gerektirmeden sunucuları çökertebilecek düzeyde bellek tüketimine yol açıyor; üç yığın hâlâ yamasız.

QPACK Açıkları HTTP/3 Sunucularını Çökertebiliyor: Bellek 4.000 Kat Şişiyor

Haber detayı

Güvenlik araştırma firması FoxIO, HTTP/3 protokolünün başlık sıkıştırma mekanizması QPACK'te kritik bir tasarım hatası sınıfı tespit etti. Test edilen on HTTP/3 yığınından yedisinin bu açıktan etkilendiği belirlendi. Saldırgan, herhangi bir hesap ya da özel erişim olmaksızın tek bir bağlantıyla pek çok HTTP/3 web sunucusunu çökertebiliyor. FoxIO, çalışan kavram kanıtı kodunu da kamuoyuyla paylaştı.

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.

Sıkça Sorulan Sorular​

QPACK açıkları hangi HTTP/3 yığınlarını etkiliyor?​

FoxIO'nun test ettiği on yığından yedisi etkileniyor. Bunlar quic-go, Cloudflare quiche, lsquic, Wireshark, Bun, h3 Rust kütüphanesi (hyperium) ve aioquic/mitmproxy. IIS, Envoy, ngtcp2/nghttp3 ve Google'ın quiche'i etkilenmeyenler arasında yer alıyor.

Bu açıklar veri çalınmasına ya da uzaktan kod çalıştırılmasına yol açar mı?​

Hayır. FoxIO'nun açıklamasına göre bu açıklar yalnızca hizmet dışı bırakma saldırısına (DoS) olanak tanıyor. Veri çalınması veya uzaktan kod çalıştırma gibi bir etkiye dair herhangi bir kanıt bulunmuyor ve kamuoyuna yansımış gerçek bir saldırı vakası da henüz raporlanmadı.

Bun'daki açık neden diğerlerinden daha tehlikeli?​

Bun'un HTTP/3 sunucusu, lsquic üzerine kurulu olmakla birlikte başlık belleğini sınırlayan bölümü kendi koduyla değiştirmiş. Bu kod her başlığı tek tek denetliyor ancak kümülatif toplamı kontrol etmiyor. Açılan başlıklar 2 GB'ı aştığında bir boyut sayacı sıfıra taşıyor ve sunucu yüzde yüz CPU kullanımıyla sonsuz bir döngüye giriyor; tek bir yaklaşık 516 KB'lık akış bunu tetiklemek için yeterli.

Hangi yığınlar için yama yayımlandı ve sürüm numaraları neler?​

quic-go 0.57.0, Cloudflare quiche 0.29.3, lsquic 4.9.0 ve Wireshark 4.6.2 ile 4.4.12 sürümleriyle yamalar yayımlandı. Bun, h3 Rust kütüphanesi ve aioquic/mitmproxy ise 22 Ekim 2026 itibarıyla yamasız durumda.

FoxIO bu araştırmaya nasıl başladı?​

FoxIO, Gal Bar Nahum'un HTTP/2'ye yönelik "MadeYouReset" hizmet dışı bırakma tekniği üzerine yaptığı araştırmanın ardından HTTP/3'ün başlık sıkıştırma mekanizmasında benzer bir zafiyetin bulunup bulunmadığını sorguladı ve bu soruşturma QPACK açıklarının keşfedilmesiyle sonuçlandı.

Etiketler

Yorumlar (0)

Yorum yapmak için giriş yapmalısınız.

Geri
Üst