- Yama var
- Son 7 gün
- CWE-407
CVE-2026-108529
Bandit HTTP/2 uygulamasında SETTINGS ve WINDOW_UPDATE çerçeveleri ile hizmet dışı bırakma riski
- Yayımlandı
- Güncellendi
- 26 Eki 2026
- Açık yaşı
- 2 gün
- Kaydı açan
- EEF
ÖzetTürkçe
Bandit'in mtrudel tarafından geliştirilen HTTP/2 uygulamasında, algoritmik karmaşıklık nedeniyle oluşan verimsiz bir zafiyet bulunmaktadır. Kimlik doğrulaması olmayan uzaktan bir saldırgan, küçük SETTINGS veya bağlantı düzeyindeki WINDOW_UPDATE çerçeveleri göndererek sunucunun CPU kaynaklarını tüketebilir. Saldırgan, yanıtları bağlantının gönderim penceresi nedeniyle bloke olan binlerce akış açar, ardından her biri sunucuyu bloke edilmiş tüm gönderimlerin kuyruğunu baştan sona taramaya zorlayan düşük maliyetli çerçeveler gönderir. Bildiren kişinin testinde, 3.000 bloke edilmiş akış varken tek bir 9 baytlık SETTINGS çerçevesinin işlenmesi 133 ms sürmüştür.
lib/bandit/http2/connection.ex dosyasındaki do_pending_sends/2 fonksiyonu, kuyruktaki her gönderimi yeniden dener ve her denemeden önce ilgili girişi List.delete/2 ile kuyruktan kaldırır. Bu nedenle n bloke edilmiş akış için tek bir çerçeve O(n²) liste işlemine neden olur. max_concurrent_streams varsayılan olarak :infinity değerindedir, dolayısıyla n değerini saldırgan belirler.
Bu sorun, 0.3.4 sürümünden 1.14.0 sürümünden önceki bandit sürümlerini etkilemektedir.
Kaynaktaki açıklama (İngilizce)
Inefficient Algorithmic Complexity vulnerability in the HTTP/2 implementation of mtrudel bandit allows an unauthenticated remote attacker to exhaust server CPU via small SETTINGS or connection-level WINDOW_UPDATE frames. The attacker opens thousands of streams whose responses block on the connection send window, then sends cheap frames that each make the server walk the whole queue of blocked sends. In the reporter's run, with 3,000 blocked streams a single 9-byte SETTINGS frame took 133 ms to process.
do_pending_sends/2 in lib/bandit/http2/connection.ex retries every queued send and, before each retry, removes that entry from the queue with List.delete/2, so one frame costs O(n²) list operations for n blocked streams. max_concurrent_streams defaults to :infinity, so the attacker chooses n.
This issue affects bandit: from 0.3.4 before 1.14.0.
Üreticinin geçici önlemi (İngilizce)
From 1.9.0, bound the number of streams a client can open, for example with http_2_options: [default_local_settings: [max_concurrent_streams: 100]], which bounds the work each frame can cause. From 0.7.0, disabling HTTP/2 with http_2_options: [enabled: false] 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ım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| mtrudel bandit | ≥ 0.3.4, < 1.14.0 | 1.14.0 |
Kaynaklar7 kaynak
- CVE.org kaydı
- NVD kaydı
- github.com/…bandit/security/advisories/GHSA-j363-h72p-296m Üretici bülteni
- github.com/…ommit/220b9dfd27f9a21305be2afc75cbe585ddc24e7a Yama
- cna.erlef.org/cves/CVE-2026-108529.html Diğer
- osv.dev/vulnerability/EEF-CVE-2026-108529 Diğer
- github.com/…ommit/6feadb31189d18b7dcda6c663112cd3bbaf63a46 Diğer
Kayıt geçmişi
- 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.