Ana içeriğe geç
Güvenlik

HTTP/3 sunucularında bellek tüketimine yol açan QPACK açığı bulundu

Öne çıkanlar

  • Test edilen on farklı HTTP/3 uygulamasından yedisinde QPACK kaynaklı bellek şişirme açığı tespit edildi.
  • Açık nedeniyle sunucular ağdan aldıkları verinin yüzlerce ila binlerce katı belleği gereksiz yere ayırdı.
  • quic-go ve Cloudflare quiche yamalanırken Bun ve aioquic henüz resmi bir düzeltme almadı.

FoxIO araştırmacısı Sébastien Féry, HTTP/3 protokolünün başlık sıkıştırma mekanizması QPACK üzerinde yürüttüğü incelemelerde geniş çaplı bir bellek tüketimi güvenlik zafiyeti tespit etti. Yetkisiz uzak istemcilerin tek bir bağlantı üzerinden küçük boyutlu HTTP/3 paketleri göndererek sunucu belleğini gigabaytlarca şişirebildiği açıklandı. Test edilen on farklı kütüphanenin yedisinde görülen zafiyet, varsayılan ayarlarla çalışan sunucuların bellek yetersizliği nedeniyle çökmesine veya hizmet veremez hale gelmesine yol açtı.

Araştırma bulgularına göre sorun, sunucu kütüphanelerinin sıkıştırılmış başlık çerçevelerini sınırlandırırken çözülmüş nihai başlık boyutunu denetlememesinden kaynaklandı. RFC 9114 standardının gerektirdiği başlık başına 32 baytlık ek yük hesaba katılmadığı veya sınırlandırmalar kümülatif olarak uygulanmadığı için, ağ üzerinden gönderilen 1 baytlık dinamik tablo referansı sunucu belleğinde 4 kilobaytlık bir alana karşılık gelebildi. Bu durum, Bun ve lsquic gibi uygulamalarda gönderilen trafiğin binlerce katı kadar bellek ayrılmasına neden oldu.

quic-go, Cloudflare quiche, lsquic ve Wireshark projeleri yayımladıkları güncellemelerle açığı kapattı. Bun, aioquic ve hyperium projesinin h3 kütüphanesi gibi bazı yazılımlar ise henüz resmi bir yama almadı. Uzmanlar, güncellenmemiş sistemler için HTTP/3 desteğinin geçici olarak kapatılmasını veya çözülmüş başlık sınırlarının makul seviyelere çekilmesini tavsiye etti.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.