Katalog CVE

CVE-2025-66570

Krytyczne
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

cpp-httplib przed wersją 0.27.0 zawiera podatność, która pozwala atakującemu kontrolować nagłówki HTTP wpływające na metadane widoczne dla serwera, logowanie i decyzje autoryzacyjne. Atakujący może wstrzyknąć nagłówki REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT, które są parsowane do multimapy nagłówków żądania, a serwer później dodaje własne metadane wewnętrzne bez usuwania duplikatów, co może prowadzić do użycia wartości kontrolowanych przez atakującego.

Ocena ryzyka

Atakujący może manipulować informacjami o adresie IP i porcie, co może wpłynąć na logi, autoryzację i inne decyzje oparte na tych danych, potencjalnie prowadząc do nieautoryzowanego dostępu.

Rekomendacja

Zaktualizuj cpp-httplib do wersji 0.27.0 lub nowszej. Dodatkowo rozważ filtrowanie lub usuwanie nagłówków dostarczanych przez klienta, które mogą kolidować z wewnętrznymi metadanymi.

Oryginalny opis (angielski, źródło NVD)

cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.27.0, a vulnerability allows attacker-controlled HTTP headers to influence server-visible metadata, logging, and authorization decisions. An attacker can inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS