- Yama var
- Son 7 gün
- CWE-770
CVE-2026-110499
Bandit HTTP/2 uygulamasında HPACK tablo boyutu sınırlandırılmadan kabul ediliyor, bellek ve CPU tüketimi sınırsız artıyor
- 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 ayırma sınırlandırması veya kısıtlaması yapılmamasından kaynaklanan bir zafiyet bulunmaktadır. Kimlik doğrulaması yapılmamış uzak bir saldırgan, büyük bir SETTINGS_HEADER_TABLE_SIZE değeri göndererek bağlantı başına bellek ve CPU maliyetini sınırsız biçimde artırabilir. Bandit, HPACK kodlayıcı tablosunu istemcinin bildirdiği boyuta, 2^32-1 bayta kadar yeniden boyutlandırmakta ve yanıt başlıklarını bu tabloya indekslemektedir. Yanıtlar date veya content-length gibi farklı değerler içerdiğinden hiçbir girdi çıkarılmamakta ve tablo, bağlantının ömrü boyunca her yanıtla birlikte büyümektedir; ayrıca her arama tabloyu doğrusal olarak taramaktadır.
Bandit.HTTP2.Connection (lib/bandit/http2/connection.ex) içindeki SETTINGS işleme, remote_settings.header_table_size değerini sunucu tarafında herhangi bir üst sınır olmadan HPAX.resize/2 fonksiyonuna iletmekte ve encode_headers her yanıt başlığını :store olarak kodlamaktadır. Bu nedenle tek bir bağlantı üzerinde N yanıt sunulması, bağlantı sürecinde O(N²) CPU maliyetine yol açmaktadır.
Bu sorun, bandit sürümlerinde 0.3.6 ile 1.14.0 öncesi sürümleri etkilemektedir.
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 grow per-connection memory and CPU cost without bound via a large SETTINGS_HEADER_TABLE_SIZE. Bandit resizes its HPACK encoder table to whatever size the client advertises, up to 2^32-1 bytes, and indexes response headers into it. Because responses carry distinct values such as date or content-length, nothing is evicted and the table grows with every response for the life of the connection, while each lookup scans it linearly.
The SETTINGS handling in Bandit.HTTP2.Connection (lib/bandit/http2/connection.ex) passes remote_settings.header_table_size to HPAX.resize/2 with no server-side cap, and encode_headers encodes every response header as :store. Serving N responses on one connection therefore costs O(N²) CPU in the connection process.
This issue affects bandit: from 0.3.6 before 1.14.0.
Üreticinin geçici önlemi (İngilizce)
From 0.7.0, cap the requests one HTTP/2 connection may serve, for example with http_2_options: [max_requests: 1000], so each connection and its encoder table is closed before the cost grows large. Alternatively, disable HTTP/2 with http_2_options: [enabled: false].
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.6, < 1.14.0 | 1.14.0 |
Kaynaklar7 kaynak
- CVE.org kaydı
- NVD kaydı
- github.com/…bandit/security/advisories/GHSA-47x4-3fxf-82fr Üretici bülteni
- github.com/…ommit/220b9dfd27f9a21305be2afc75cbe585ddc24e7a Yama
- cna.erlef.org/cves/CVE-2026-110499.html Diğer
- osv.dev/vulnerability/EEF-CVE-2026-110499 Diğer
- github.com/…ommit/0e68313fab9d204257ebad5c447e4cd9cea8e0ea 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.