CVE-2025-66570
Açıklama
cpp-httplib, C++11 tek dosyalık, yalnızca başlık içeren, platformlar arası bir HTTP/HTTPS kütüphanesidir. 0.27.0 sürümünden önce, bir güvenlik açığı saldırgan tarafından kontrol edilen HTTP başlıklarının sunucu tarafından görülen üst verileri, günlük kaydını ve yetkilendirme kararlarını etkilemesine olanak tanır. Bir saldırgan, httplib.h içindeki read_headers() aracılığıyla (headers.emplace) istek başlığı multimap'ine ayrıştırılan REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT adlı başlıkları enjekte edebilir; ardından sunucu, Server::process_request içinde yinelenenleri silmeden aynı başlık adlarını kullanarak kendi dahili üst verilerini ekler. Request::get_header_value bir başlık anahtarı için ilk girdiyi (id == 0) döndürdüğünden ve istemci tarafından sağlanan başlıklar sunucu tarafından eklenen başlıklardan önce ayrıştırıldığından, bu başlık adlarını kullanan alt akış kodu istemeden saldırgan tarafından kontrol edilen değerleri kullanabilir. Etkilenen dosyalar/konumlar: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) ve cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Saldırı yüzeyi: gelen isteklerdeki saldırgan tarafından kontrol edilen HTTP başlıkları Request.headers multimap'ine ve iletilen başlıkları okuyan günlük kaydı koduna akar; bu da IP sahtekarlığı, günlük zehirlenmesi ve başlık gölgeleme yoluyla yetkilendirme atlatma olanağı sağlar. Bu güvenlik açığı 0.27.0 sürümünde giderilmiştir.
Nasıl düzeltilir
- yhirose cpp-httplib0.27.0 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.27.0 | 0.27.0 |
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.