Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Yama var
  • Son 7 gün
  • CWE-770
  • CWE-835

CVE-2026-115269

Bandit HTTP/2 sunucusunda WINDOW_UPDATE ve SETTINGS çerçeveleri istek gövdesi okuma zaman aşımını sıfırlıyor

mtrudel bandit

Yüksek 8,7 CVSS 4.0
Yayımlandı
Güncellendi
26 Eki 2026
Açık yaşı
2 gün
Kaydı açan
EEF

ÖzetTürkçe

mtrudel bandit ürününün HTTP/2 istek gövdesi okuyucusunda, kaynak sınırı veya kısıtlama olmadan kaynak ayırma (Allocation of Resources Without Limits or Throttling) zafiyeti bulunmaktadır. Kimlik doğrulaması yapılmamış uzak bir saldırgan, bir Plug istek gövdesini okurken gönderilen WINDOW_UPDATE veya boş SETTINGS çerçeveleri aracılığıyla akış süreçlerini süresiz olarak açık tutabilir.

lib/bandit/http2/stream.ex dosyasındaki Bandit.HTTP2.Stream.do_read_data/4 fonksiyonu, her çerçeveyi yeni bir read_timeout ile bekler. Bir akış WINDOW_UPDATE çerçevesi ya da her boş SETTINGS çerçevesinin tüm akışlara ilettiği sıfır delta değerli pencere güncellemesi, gövde verisi iletmeden bu beklemeyi sonlandırır ve döngü yeni bir tam geri sayım başlatır. Her geri sayım dolmadan bu 9 baytlık çerçevelerden birini gönderen bir istemci, read_body çağrısını, akış sürecini ve okuma sırasında uygulamanın tuttuğu tüm kaynakları istediği kadar süre bloke tutabilir.

Bu sorun bandit sürümlerinde 1.4.0 ile 1.14.0 öncesi sürümleri etkilemektedir. Satıcının geçici çözümü, http_2_options: [enabled: false] ayarıyla HTTP/2 desteğini devre dışı bırakmaktır; bu durumda zafiyetli okuma yolu hiç çalışmaz.

Kaynaktaki açıklama (İngilizce)

Allocation of Resources Without Limits or Throttling vulnerability in the HTTP/2 request body reader of mtrudel bandit allows an unauthenticated remote attacker to hold stream processes open indefinitely via WINDOW_UPDATE or empty SETTINGS frames sent while a Plug reads the request body.

Bandit.HTTP2.Stream.do_read_data/4 in lib/bandit/http2/stream.ex waits for each frame with a fresh read_timeout. A stream WINDOW_UPDATE, or the zero-delta window update that every empty SETTINGS frame delivers to all streams, ends the wait without delivering any body data, and the loop starts a new full countdown. A client that sends one of these 9-byte frames before each countdown expires keeps read_body blocked, together with the stream process and whatever the application holds while reading, for as long as it likes.

This issue affects bandit: from 1.4.0 before 1.14.0.

Üreticinin geçici önlemi (İngilizce)

Disable HTTP/2 with http_2_options: [enabled: false], so that the vulnerable read path never runs.

Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
mtrudel bandit ≥ 1.4.0, < 1.14.0 1.14.0

Kaynaklar7 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.