CVE-2026-116531
Niskie ryzyko· EPSS 21%Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Zdalny atakujący może zawiesić serwer lub doprowadzić do desynchronizacji żądań, co może skutkować odmową usługi lub przetwarzaniem wstrzykniętych danych.
Rekomendacja
Zaktualizuj HTTP::Body do wersji 1.23_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-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-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.23_01 for Perl lose track of chunk boundaries in chunked request bodies when a read ends inside a chunk. In chunked mode, used when no content length is given, add() treats a chunk as complete once the buffer is as long as the chunk's declared size, but the buffer still holds the chunk-size line. When a read ends in the last bytes of a chunk, add() takes the chunk short and parses the leftover data as the next chunk-size line. A remote attacker can make a chunked body never complete, hanging a server that reads until the body is done, and may make it complete early, leaving the remaining bytes to be read as the next request.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

