CVE-2026-116135
Niskie ryzyko· EPSS 28%Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% wszystkich znanych CVE
Streszczenie
Biblioteka HTTP::Body w wersjach przed 1.23_01 dla Perla pomija mieszane procentowe sekwencje ucieczki w polach formularza urlencoded zamiast je dekodować. Tabela dekodowania zawiera tylko w pełni małe i w pełni wielkie litery każdej pary szesnastkowej, podczas gdy wzorzec ucieczki dopasowuje obie wielkości. Sekwencja taka jak %aB nie znajduje wpisu i jest zastępowana niczym, łącząc bajty po obu stronach.
Ocena ryzyka
Zdalny atakujący może wysłać nazwę pola lub wartość, którą zgodny dekoder przed aplikacją odczyta inaczej, tak że pass%aBword dotrze do aplikacji jako password. Może to prowadzić do obejścia mechanizmów uwierzytelniania lub walidacji.
Rekomendacja
Zaktualizuj bibliotekę HTTP::Body do wersji 1.23_01 lub nowszej. Upewnij się, że wszystkie warstwy pośrednie dekodują procentowe sekwencje ucieczki w sposób zgodny z RFC.
Inne podatności w HTTP::Body
Zobacz wszystkie- CVE-2026-117501Niskie ryzyko· EPSS 15%
HTTP::Body w wersjach przed 1.24_01 dla Perla pozwala na wyczerpanie pamięci poprzez nieograniczone buforowanie ciał żądań w trybie chunked. Parser może czekać w nieskończoność na poprawną linię rozmiaru fragmentu, a każde kolejne wywołanie add() powiększa bufor.
- CVE-2026-117500Niskie ryzyko· EPSS 18%
HTTP::Body w wersjach przed 1.24_01 dla Perla pozwala na wyczerpanie CPU poprzez backtracking wyrażenia regularnego na nazwie pliku w uploadzie multipart. Nazwa bazowa złożona z wielu kropek i kończąca się backslashem powoduje kwadratowy czas dopasowania.
- CVE-2026-116531Niskie ryzyko· EPSS 21%
HTTP::Body w wersjach przed 1.23_01 dla Perla traci granice fragmentów w ciałach żądań chunked, gdy odczyt kończy się wewnątrz fragmentu. Może to prowadzić do zawieszenia serwera oczekującego na zakończenie ciała lub do przedwczesnego zakończenia i potraktowania resztek jako kolejnego żądania.
- CVE-2026-116285Niskie ryzyko· EPSS 21%
HTTP::Body w wersjach przed 1.23_01 dla Perla pozwala na wyczerpanie CPU poprzez kwadratowy backtracking wyrażenia regularnego przy parsowaniu ciał żądań chunked. Dopasowanie linii rozmiaru fragmentu może zająć czas kwadratowy w stosunku do jej długości, bez ograniczenia długości linii.
- CVE-2026-116134Niskie ryzyko· EPSS 24%
Biblioteka HTTP::Body w wersjach przed 1.23_01 dla Perla pozwala na wyczerpanie pamięci poprzez nieograniczony blok nagłówka części multipart. Parser multipart przyjmuje wszystko do pierwszego pustego wiersza po granicy jako blok nagłówka części, bez limitu rozmiaru lub liczby wierszy. Każdy wiersz jest przechowywany w hashu nagłówka części, więc blok krótkich wierszy kosztuje około 60 bajtów pamięci na bajt wejściowy.
- CVE-2026-116133Niskie ryzyko· EPSS 24%
Biblioteka HTTP::Body w wersjach przed 1.23_01 dla Perla pozwala na wyczerpanie CPU poprzez kwadratowe ponowne skanowanie ciała multipart z brakującą lub nieprawidłową granicą. Przed pierwszą częścią i między częściami parser multipart przeszukuje całe buforowane ciało w poszukiwaniu następnej granicy. Przy braku trafienia zachowuje wszystko i przeszukuje ponownie od początku przy nadejściu następnego fragmentu, więc ciało bez granicy lub z ogranicznikiem niepoprzedzonym CRLF ani "--" jest skanowane ponownie przy każdym fragmencie, zajmując czas kwadratowy względem rozmiaru.
- CVE-2026-116132Niskie ryzyko· EPSS 28%
Podatność w bibliotece HTTP::Body dla Perla (wersje przed 1.23_01) polega na pozostawianiu na dysku plików tymczasowych z niekompletnych uploadów multipart. Parser tworzy plik tymczasowy zaraz po rozpoczęciu części plikowej, ale dodaje go do listy uploadów dopiero po jej zakończeniu, więc przerwany upload pozostawia plik, którego nic nie usuwa.
- CVE-2026-116131Niskie ryzyko· EPSS 24%
Podatność w bibliotece HTTP::Body dla Perla (wersje przed 1.23_01) pozwala na wyczerpanie pamięci i plików tymczasowych poprzez nieograniczoną liczbę pól formularza i części multipart. Parser urlencoded dzieli całe ciało żądania na separatory jednocześnie, zużywając około 90 bajtów pamięci na każdy bajt separatora, a parser multipart tworzy plik tymczasowy dla każdej części z nazwą pliku, bez limitu liczby pól lub części.
Oryginalny opis (angielski, źródło NVD)
HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form fields instead of decoding them. The decode table holds only the all-lowercase and all-uppercase spelling of each hex pair, while the escape pattern matches either case. An escape such as %aB finds no entry and is replaced with nothing, joining the bytes on either side. Hex digits in percent escapes are case-insensitive, and conforming decoders return the byte. A remote attacker can send a field name or value that a conforming decoder in front of the application reads differently, so that pass%aBword reaches the application as password.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

