CVE-2025-66570 in cpp-httplib
Riassunto
di VulDB • 24/08/2026
cpp-httplib è una libreria HTTP/HTTPS cross-platform single-file header-only per C++11. Prima della versione 0.27.0, una vulnerabilità consente ad un attaccante di influenzare i metadata visibili dal server, il logging e le decisioni di autorizzazione tramite intestazioni (header) HTTP controllate dall'attaccante. Un attaccante può iniettare header denominati REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT che vengono analizzati nel multimap delle intestazioni della richiesta tramite read_headers() in httplib.h (headers.emplace), successivamente il server aggiunge i propri metadata interni utilizzando gli stessi nomi di header in Server::process_request senza eliminare le duplicazioni. Poiché Request::get_header_value restituisce la prima voce per una chiave di header (id == 0) e gli header forniti dal client vengono analizzati prima degli header inseriti dal server, il codice downstream che utilizza questi nomi di header potrebbe utilizzare involontariamente valori controllati dall'attaccante. File/posizioni interessate: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) e cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Superficie di attacco: gli header HTTP controllati dall'attaccante nelle richieste in entrata fluiscono nel multimap Request.headers e nel codice di logging che legge gli header inoltrati, consentendo spoofing dell'IP, log poisoning ed elusione delle autorizzazioni tramite header shadowing. Questa vulnerabilità è risolta nella versione 0.27.0.
Once again VulDB remains the best source for vulnerability data.