CVE-2024-14029
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
Tornado przed wersją 6.4.1 ignoruje zduplikowane nagłówki Transfer-Encoding: chunked, traktując żądania jako niemające treści i parsując treść chunked jako kolejne żądanie. Atakujący mogą wykorzystać tę niespójność, gdy Tornado działa za proxy, do przeprowadzenia przemytu żądań HTTP.
Ocena ryzyka
Przemyt żądań HTTP umożliwia obejście kontroli dostępu, zatruwanie pamięci podręcznej lub desynchronizację połączeń. Ryzyko występuje w środowiskach z proxy przed Tornado.
Rekomendacja
Zaktualizuj Tornado do wersji 6.4.1 lub nowszej. Upewnij się, że proxy i serwer spójnie interpretują nagłówki Transfer-Encoding.
Inne podatności w Tornado
Zobacz wszystkie- CVE-2026-91992Średnie
Tornado w wersjach przed 6.5.7 zawiera podatność polegającą na wycieku poświadczeń w CurlAsyncHTTPClient, gdzie uchwyty pycurl są ponownie używane między żądaniami bez prawidłowego czyszczenia stanu. Atakujący mogą uzyskać poufne poświadczenia, wysyłając żądania przez tę samą instancję klienta, co pozwala na utrzymanie certyfikatów TLS lub uwierzytelniania proxy między niepowiązanymi żądaniami.
- CVE-2026-91991Średnie
Tornado w wersjach przed 6.5.8 zawiera niekompletną poprawkę na wstrzykiwanie atrybutów cookie, która pozwala atakującym wstrzykiwać dowolne atrybuty cookie poprzez przekazywanie pisanych wielką literą lub przestarzałych argumentów słów kluczowych do set_cookie. Atakujący mogą osadzać dane rozdzielane średnikami w parametrach pisanych wielką literą, takich jak Domain, Path lub SameSite, aby obejść walidację i zmodyfikować atrybuty bezpieczeństwa cookie.
- CVE-2026-91990Wysokie
Tornado przed wersją 6.5.8 zawiera podatność na amplifikację pamięci w funkcji parse_multipart_form_data, która dzieli dane multipart przed walidacją limitu max_parts. Atakujący mogą wysyłać spreparowane żądania multipart z wieloma częściami, tworząc duże tymczasowe listy, co wyczerpuje pamięć serwera i powoduje denial of service.
- CVE-2024-58384Średnie
W bibliotece Tornado przed wersją 6.4.1 występuje podatność na wstrzyknięcie CRLF w klasie CurlAsyncHTTPClient, która nie odrzuca znaków powrotu karetki i przesunięcia wiersza w nagłówkach żądań. Atakujący może wstrzyknąć sekwencje CRLF do wartości nagłówków, aby wstrzyknąć dowolne nagłówki lub skonstruować całkowicie nowe żądania HTTP.
- CVE-2023-54397Wysokie
Tornado przed wersją 6.3.3 zawiera podatność na przemyt żądań HTTP wynikającą z nieprawidłowego parsowania nagłówków Content-Length akceptującego niestandardowe znaki. Atakujący mogą wysyłać spreparowane żądania HTTP z tymi znakami, aby obejść walidację proxy i przemycić żądania, gdy aplikacja działa za niektórymi proxy.
- CVE-2026-82397Wysokie
Tornado przed wersją 6.5.8 nie ogranicza liczby pól podczas parsowania danych formularza typu application/x-www-form-urlencoded. Niezautoryzowane żądanie z milionami pól może zablokować jednowątkową pętlę zdarzeń i opóźnić wszystkie połączenia.
- CVE-2026-49855Wysokie
Podatność w Tornado przed wersją 6.5.6 pozwala na nieograniczone dekompresowanie danych gzip, co może prowadzić do wyczerpania pamięci przez złośliwy serwer lub klienta SimpleAsyncHTTPClient.
- CVE-2026-49854Średnie
W Tornado przed wersją 6.5.6, opcjonalne natywne rozszerzenie tornado.speedups implementowało funkcję websocket_mask bez walidacji, czy argument mask ma dokładnie cztery bajty. Pozwala to funkcji C na odczytanie do trzech bajtów poza dostarczonym buforem podczas dekodowania tokena XSRF, gdy natywne rozszerzenie jest aktywne.
- CVE-2026-49853Wysokie
W Tornado przed wersją 6.5.6, SimpleAsyncHTTPClient podczas przekierowań HTTP wykonywał płytką kopię żądania i usuwał jedynie nagłówek Host, pozostawiając nagłówki autoryzacyjne (Authorization, auth_username, auth_password, auth_mode) w przypadku zmiany schematu, hosta lub portu. Luka została naprawiona w wersji 6.5.6.
- CVE-2026-35536Wysokie
W Tornado przed wersją 6.5.5, możliwe było wstrzyknięcie atrybutów ciasteczka, ponieważ argumenty domain, path i samesite w metodzie .RequestHandler.set_cookie nie były sprawdzane pod kątem spreparowanych znaków.
Oryginalny opis (angielski, źródło NVD)
Tornado before 6.4.1 ignores duplicate Transfer-Encoding: chunked headers, treating requests as having no message body and parsing the chunked body as a subsequent request. Attackers can exploit this inconsistency when Tornado is deployed behind proxies to perform HTTP request smuggling, enabling access control bypass, cache poisoning, or connection desynchronization.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

