CVE-2026-45352
Açıklama
cpp-httplib, C++11 tabanlı, tek dosyadan oluşan, yalnızca başlık içeren (header-only), platformlar arası bir HTTP/HTTPS kütüphanesidir. 0.43.4 sürümünden önce, chunked Transfer-Encoding içerisindeki negatif chunk-size değeri, sınırsız bellek tahsisine ve işlem çökmesine neden olmaktadır. cpp-httplib (httplib.h) içerisindeki ChunkedDecoder::read_payload fonksiyonu, HTTP chunked transfer encoding'in chunk-size alanını std::strtoul() kullanarak ayrıştırmaktadır. C standardına göre (§7.22.1.4), strtoul baştaki eksi işaretini sessizce kabul eder ve işaretsiz sarmalama (unsigned wrap-around) gerçekleştirir: strtoul("-2", ..., 16) ifadesi ULONG_MAX − 1 (0xFFFFFFFFFFFFFFFE) değerini döndürür. Kütüphanenin tek koruması (satır 12833), ULONG_MAX ("-1" sonucunu) reddeder ancak "-2" gibi diğer tüm negatif değerler doğrulamayı geçer. Ortaya çıkan maksimuma yakın değer chunk_remaining değişkeninde saklanır ve sunucunun okuma döngüsünün ağdan kaç bayt tüketeceğini kontrol eder. Bu güvenlik açığı 0.43.4 sürümünde giderilmiştir.
Nasıl düzeltilir
- yhirose cpp-httplib0.43.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| yhirose cpp-httplib | v < 0.43.4 | 0.43.4 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.