CVE-2026-54388
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
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ń.
Ocena ryzyka
Organizacja narażona jest na ataki typu request smuggling, które mogą skutkować zatruciem pamięci podręcznej, ominięciem mechanizmów kontroli dostępu oraz przejęciem sesji użytkowników, co zagraża integralności i poufności danych.
Rekomendacja
Należy natychmiast zaktualizować Tinyproxy do wersji zawierającej commit 364cdb6 lub nowszej, która odrzuca żądania z wieloma nagłówkami Content-Length o różnych wartościach.
Inne podatności w Tinyproxy
Zobacz wszystkie- CVE-2026-54387Krytyczne
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.
- 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 364cdb6, fails to reject requests containing multiple Content-Length headers with differing values, forwarding all duplicate headers to the backend while using the first value 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

