CVE-2026-117500
Niskie ryzyko· EPSS 18%Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Zdalny atakujący może jednym żądaniem wyczerpać CPU serwera, powodując odmowę usługi.
Rekomendacja
Zaktualizuj HTTP::Body do wersji 1.24_01 lub nowszej.
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-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-116135Niskie ryzyko· EPSS 28%
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.
- 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.24_01 for Perl allow CPU exhaustion via regex backtracking on the filename of a multipart upload. For every file part, the multipart parser finds the suffix of the uploaded filename by matching the default $basename_regexp, qr/[^.]+(\.[^\\\/]+)$/, against the whole basename. A basename made of many dots and ending in a backslash makes the regex backtrack in time quadratic in its length. A remote attacker can exhaust CPU with one request, as a basename of about 32 KB takes several seconds to match and every file part is matched separately.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

