Podatności cpp-httplib
10 znanych podatności CVE w cpp-httplib, przetłumaczonych i ocenionych.
- CVE-2026-22776Wysokie
cpp-httplib przed wersją 0.30.1 zawiera podatność na atak DoS związaną z niebezpiecznym obsługiwaniem skompresowanych treści żądań HTTP. Biblioteka sprawdza maksymalny rozmiar ładunku na podstawie skompresowanych danych, ale nie ogranicza rozmiaru zdekompresowanych danych przechowywanych w pamięci.
- CVE-2026-21428Wysokie
cpp-httplib przed wersją 0.30.0 nie sprawdza znaków CR i LF w nagłówkach dostarczanych przez użytkownika, co pozwala na wstrzykiwanie dodatkowych nagłówków i modyfikację treści żądania. Może to prowadzić do ataku SSRF, szczególnie w połączeniu z serwerami obsługującymi pipelining HTTP/1.1. Wersja 0.30.0 naprawia ten problem.
- CVE-2026-45372Krytyczne
Biblioteka cpp-httplib przed wersją 0.44.0 nieprawidłowo waliduje nagłówki HTTP, co pozwala na wstrzyknięcie znaków nowej linii przez zakodowane wartości nagłówków.
- CVE-2025-66570Krytyczne
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.
- CVE-2026-77358Wysokie
cpp-httplib to biblioteka HTTP/HTTPS w C++ tylko z nagłówkami. W wersjach od 0.33.0 do 0.50.0 klient WebSocket z obsługą TLS zwalnia sesję TLS przed zamknięciem WebSocket, który nadal jej używa, co powoduje użycie po zwolnieniu (use-after-free). Problem został naprawiony w wersji 0.50.1.
- CVE-2026-77341Średnie
cpp-httplib w wersji 0.49.0 nie waliduje nazw i wartości nagłówków w trailerach odpowiedzi chunked, co pozwala na wstrzyknięcie CRLF i podział odpowiedzi HTTP. Aplikacje umieszczające dane sterowane przez atakującego w trailerach mogą wysyłać kontrolowane przez atakującego CRLF. Problem naprawiono w wersji 0.50.0.
- CVE-2026-54919Wysokie
Biblioteka cpp-httplib w wersjach od 0.31.0 do 0.46.1 (dla backendu Mbed TLS) oraz od 0.33.0 do 0.46.1 (dla backendu wolfSSL) pomija walidację łańcucha certyfikatów podczas połączeń HTTPS z adresem IP zamiast nazwy domeny. Podatność umożliwia atakującemu typu man-in-the-middle przedstawienie spreparowanego certyfikatu i przechwycenie lub modyfikację ruchu.
- CVE-2026-46527Wysokie
cpp-httplib to biblioteka HTTP/HTTPS w C++11. Przed wersją 0.44.0, gdy serwer używa Server::set_trusted_proxies() z niepustą listą zaufanych proxy, atakujący może wysłać żądanie HTTP z nagłówkiem X-Forwarded-For, którego wartość nie zawiera prawidłowych segmentów IP. Kod wywołuje get_client_ip(), który wywołuje front() na pustym std::vector, co jest niezdefiniowanym zachowaniem w C++. Na typowych implementacjach objawia się to nieprawidłowym zakończeniem procesu (odmowa usługi).
- CVE-2026-45352Średnie
cpp-httplib przed wersją 0.43.4 zawiera podatność związaną z ujemnym rozmiarem fragmentu w kodowaniu Transfer-Encoding chunked. Funkcja ChunkedDecoder::read_payload parsuje pole chunk-size za pomocą std::strtoul(), które akceptuje znak minus, powodując zawinięcie do wartości bliskiej maksymalnej. Biblioteka odrzuca tylko wynik -1, ale inne ujemne wartości, jak -2, przechodzą walidację, co prowadzi do nieograniczonej alokacji pamięci i awarii procesu.
- CVE-2026-34441Średnie
cpp-httplib jest podatne na przemycanie żądań HTTP (HTTP Request Smuggling). Serwer nie konsumuje treści żądania GET, a na połączeniach keep-alive nieprzeczytane bajty są interpretowane jako nowe żądanie.

