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

CVE-2026-108525

Bandit HTTP/2 uçuş kontrolü uygulanmıyor, istemci sınırsız DATA kuyruğa alabiliyor

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 uygulamasında kaynak tahsisi sınırlandırılmadan (Allocation of Resources Without Limits or Throttling) yapılan bir zafiyet, kimlik doğrulaması yapılmamış uzak bir saldırganın DATA çerçevelerini bildirilen alım penceresinin ötesinde göndererek sunucu belleğini tüketmesine olanak tanıyor. Saldırgan, 65.535 baytlık başlangıç penceresinden büyük bir yanıt isteyip WINDOW_UPDATE çerçevelerini geri tutuyor; böylece akış süreci gönderim sırasında bloke oluyor ve okumayı durduruyor. Ardından o akış üzerinden küçük DATA çerçeveleri seli gönderiliyor. Her çerçeve, BEAM düğümünün belleği tükenene kadar akışın mailbox'ında kuyruğa alınıyor.

lib/bandit/http2/connection.ex dosyasındaki Bandit.HTTP2.Connection.handle_frame/3, her DATA çerçevesini alım penceresine bakmadan akış sürecine iletiyor. Bandit.HTTP2.FlowControl.compute_recv_window/2 ise pencereyi verinin tüketilmesine göre değil, veri geldikçe yeniden dolduruyor ve ihlallere hiçbir zaman FLOW_CONTROL_ERROR ile yanıt vermiyor.

Bu sorun bandit sürümlerinde 0.3.1 ile 1.14.0 öncesini etkiliyor. Geçici çözüm olarak, 0.7.0 sürümünden itibaren http_2_options: [enabled: false] ayarıyla HTTP/2 devre dışı bırakılabilir; bu, zafiyetli yolu ortadan kaldırır. CVSS 4.0 vektörü: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N, puan 8.7 (YÜKSEK).

Kaynaktaki açıklama (İngilizce)

Allocation of Resources Without Limits or Throttling vulnerability in the HTTP/2 implementation of mtrudel bandit allows an unauthenticated remote attacker to exhaust server memory via DATA frames sent past the advertised receive window. The attacker requests a response larger than the 65,535-byte initial window and withholds WINDOW_UPDATE, so the stream process blocks while sending and stops reading, then floods small DATA frames on that stream. Every frame is queued in the stream's mailbox until the BEAM node runs out of memory.

Bandit.HTTP2.Connection.handle_frame/3 in lib/bandit/http2/connection.ex forwards each DATA frame to the stream process without consulting the receive window, and Bandit.HTTP2.FlowControl.compute_recv_window/2 replenishes the window as data arrives rather than as it is consumed, and never answers a violation with FLOW_CONTROL_ERROR.

This issue affects bandit: from 0.3.1 before 1.14.0.

Üreticinin geçici önlemi (İngilizce)

From 0.7.0, disable HTTP/2 with http_2_options: [enabled: false], which removes the vulnerable path.

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 ≥ 0.3.1, < 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.