CVE-2026-54387
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
Tinyproxy do wersji 1.11.3 nieprawidłowo obsługuje konflikt między nagłówkami Content-Length i Transfer-Encoding: chunked, przekazując oba do backendu, ale używając Content-Length do określenia liczby bajtów treści żądania. Zdalny atakujący może wykorzystać tę niespójność do desynchronizacji stanu parsowania między proxy a backendem, co umożliwia wstrzyknięcie dowolnych żądań HTTP do backendu.
Ocena ryzyka
Atakujący może zatruć pamięć podręczną (cache poisoning), ominąć kontrolę dostępu oraz przechwycić żądania użytkowników, co prowadzi do naruszenia poufności i integralności danych.
Rekomendacja
Należy natychmiast zaktualizować Tinyproxy do wersji zawierającej commit ff45d3b lub nowszej, która usuwa tę podatność.
Inne podatności w Tinyproxy
Zobacz wszystkie- CVE-2026-54388Krytyczne
Tinyproxy do wersji 1.11.3 nie odrzuca żądań zawierających wiele nagłówków Content-Length o różnych wartościach, przekazując wszystkie zduplikowane nagłówki do backendu, jednocześnie używając pierwszego do określenia liczby bajtów treści żądania do konsumpcji. Zdalni atakujący mogą desynchronizować stan parsera proxy i backendu, co umożliwia wstrzyknięcie dowolnych żądań HTTP do backendu, prowadząc do zatrucia pamięci podręcznej, ominięcia kontroli dostępu i przejęcia żądań.
- CVE-2026-55202Wysokie
Tinyproxy do wersji 1.11.3 nieprawidłowo waliduje nagłówek Host podczas wykrywania stathost, co pozwala nieuwierzytelnionym atakującym na dostęp do strony statystyk poprzez wstrzyknięcie pasującego nagłówka Host lub ominięcie wykrywania przez manipulację portem. Zdalni atakujący mogą uzyskać nieautoryzowany dostęp do wewnętrznych statystyk proxy lub przekierować żądania jako połączenia przezroczystego proxy, omijając kontrolę dostępu.
- CVE-2026-31842Wysokie
Tinyproxy do wersji 1.11.3 jest podatny na desynchronizację parsowania żądań HTTP z powodu porównywania nagłówka Transfer-Encoding z uwzględnieniem wielkości liter w src/reqs.c. Funkcja is_chunked_transfer używa strcmp do porównania wartości nagłówka z "chunked", mimo że RFC 7230 określa, że nazwy transfer-coding są niewrażliwe na wielkość liter.
- CVE-2026-3945Wysokie
Podatność przepełnienia liczby całkowitej w parserze kodowania transferu chunked w tinyproxy do wersji 1.11.3 włącznie pozwala niezautoryzowanemu zdalnemu atakującemu na wywołanie odmowy usługi (DoS). Problem występuje, ponieważ wartości rozmiaru fragmentu są parsowane za pomocą strtol bez odpowiedniej walidacji warunków przepełnienia (np. errno == ERANGE).
Oryginalny opis (angielski, źródło NVD)
Tinyproxy through 1.11.3, fixed in commit ff45d3b, fails to reconcile conflicting Content-Length and Transfer-Encoding: chunked headers, forwarding both verbatim to the backend while using Content-Length to determine how many request body bytes to consume. Remote attackers can desynchronize the proxy and backend parser state, allowing injection of arbitrary HTTP requests to the backend to enable cache poisoning, access control bypass, and request hijacking.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

