QPACK açıkları, tek bağlantıyla birçok HTTP/3 sunucusunu çökertebiliyor

FoxIO, test ettiği 10 HTTP/3 yığınının yedisinde bellek kullanımını 4.000 kata kadar büyüten başlık sıkıştırma açıkları buldu. Bazı yığınlar henüz yamalanmadı.

QPACK açıkları, tek bağlantıyla birçok HTTP/3 sunucusunu çökertebiliyor

Kısaca

  • The Hacker News'in aktardığına göre FoxIO, test ettiği 10 HTTP/3 yığınının yedisinde QPACK bellek büyütme açığı buldu ve kavram kanıtı kodu yayımladı.
  • quic-go, Cloudflare quiche, lsquic ve Wireshark düzeltildi; Bun, hyperium h3 ve aioquic/mitmproxy 22 Ekim itibarıyla yamasızdı.
  • Bun'da yaklaşık 516 KB'lık tek bir akış, sunucuyu kurtarılamayacak şekilde yüzde 100 işlemci kullanımına kilitleyebiliyor.
  • Açıklar yalnızca hizmet dışı bırakmaya yol açıyor; gerçek saldırı bildirilmedi.

Güvenlik şirketi FoxIO, HTTP/3'ün kullandığı başlık sıkıştırma yöntemi QPACK'te, kimlik doğrulaması gerektirmeyen uzaktaki bir saldırganın tek bir bağlantıyla pek çok HTTP/3 sunucusunu çökertmesine imkân veren bir hizmet dışı bırakma açığı sınıfını kamuoyuyla paylaştı. The Hacker News'in aktardığına göre FoxIO sorunu test ettiği on HTTP/3 uygulamasının yedisinde tespit etti ve çalışan kavram kanıtı kodunu yayımladı. Yaygın kullanılan bazı yığınlar düzeltme yayımlasa da 22 Ekim 2026 itibarıyla diğerleri hâlâ yamasızdı.

Neler oldu?

The Hacker News'e göre saldırgan, sunucu belleğinde çok daha büyük bir kümeye açılan küçük bir sıkıştırılmış HTTP başlığı grubu gönderiyor ve sunucuyu aldığı veriden binlerce kat fazla bellek kullanmaya zorluyor. Sunucunun başlık boyutunu açma işleminden sonra sınırlaması gerekirken etkilenen yığınlar ya yalnızca hattaki sıkıştırılmış veriyi sınırlıyor, ya açılmış sonucu hiç sınırlamıyor ya da sınırı çok geç uyguluyor. HTTP/3 UDP üzerinden çalıştığı için istek, alışılmış filtrelemenin büyük kısmı devreye girmeden sunucuya ulaşıyor. FoxIO, çalışmasının Gal Bar Nahum'un HTTP/2'ye yönelik MadeYouReset araştırmasından ilham aldığını belirtti.

Teknik detaylar

FoxIO'nun ölçümlerine göre quic-go'da 1 MB'lık sıkıştırılmış bir grup yaklaşık 160.000 başlık alanına açıldı ve gönderilen verinin yaklaşık 17 katı olan 15 MB civarında bellek tuttu; quic-go'nun kendi bülteni olası büyümeyi 50 kat civarında gösteriyor. Yayına göre ikinci yöntemde yaklaşık 4 KB'lık tek bir başlık kaydı saklanıp bir baytlık referanslarla binlerce kez çağrılıyor; bu yöntem Bun'da yaklaşık 4.000 kat, lsquic'te ise 600 ila 1.800 kat büyüme üretti.

En kötü durum Bun'da görüldü. Bun'ın HTTP/3 sunucusu lsquic kullanıyor ancak başlık belleği sınırını, başlıkları tek tek denetleyen fakat toplamı izlemeyen kendi koduyla değiştiriyor. Açılmış başlıklar 2 GB'ı aştığında bir boyut sayacı taşarak sıfırlanıyor ve sunucu hiç çıkamadığı bir döngüye giriyor. FoxIO, yaklaşık 516 KB'lık tek bir akışın sunucuyu kurtarılamayacak şekilde yüzde 100 işlemci kullanımına kilitlediğini bildirdi. Bun'ın belgeleri HTTP/3 sunucusunu deneysel olarak tanımlıyor. Wireshark'taki sorun ise ayrı: yakalanan trafiğin şifresi çözülürken HTTP/3 ayrıştırıcısını çökertiyor ve ağdan erişilebilen bir sunucu açığı değil.

Kimler etkileniyor?

Düzeltilmiş sürümler quic-go 0.57.0 (CVE-2025-64702), Cloudflare quiche 0.29.3 (CVE-2026-12523), lsquic 4.9.0 (CVE yok) ve Wireshark 4.6.2 / 4.4.12 (CVE-2025-13945). Bun, hyperium'un Rust tabanlı h3 kütüphanesi ve aioquic/mitmproxy yamasız. The Hacker News, quic-go'nun Caddy, Traefik ve cloudflared'in; lsquic'in ise LiteSpeed Web Server ve OpenLiteSpeed'in temelinde yer aldığını hatırlattı. IIS, Envoy, ngtcp2/nghttp3 ve Google'ın quiche uygulamasının etkilenmediği bildirildi. Açıklar yalnızca hizmet dışı bırakmaya yol açıyor; veri hırsızlığı, kod çalıştırma veya gerçek saldırı kanıtı yok.

Ne yapmalı?

Sunucu yöneticilerinin düzeltilmiş sürümlere geçmesi ve Caddy, Traefik, cloudflared ile LiteSpeed gibi quic-go veya lsquic tabanlı ürünleri düzeltmeler yayımlandıkça güncellemesi gerekiyor. FoxIO, şimdilik Bun'ın HTTP/3 sunucusunun internete açılmamasını, mitmproxy'de HTTP/3'ün --set http3=false ile kapatılmasını ve h3'te makul bir max_field_section_size sınırı tanımlanmasını öneriyor.

İlgili CVE kayıtları

Kaynaklar

Bu haber yukarıda listelenen kaynaklara dayanmaktadır. Kritik sistemlerle ilgili işlem yapmadan önce üreticinin resmi duyurusunu kontrol edin.