CVE-2026-115822
NieznaneStreszczenie
Starman w wersjach przed 0.4019 dla Perla pozwala na wyczerpanie CPU przez kwadratowe cofanie w wyrażeniu regularnym podczas parsowania ciał żądań chunked. Linia z cyframi szesnastkowymi zakończona samym LF i CRLF nigdy nie pasuje, a każda próba cofa się kwadratowo. Długość linii nie jest ograniczona.
Ocena ryzyka
Zdalny atakujący może wyczerpać CPU workerów, powodując odmowę usługi na dowolnej trasie. Wystarczy wysłać odpowiednio spreparowane żądania.
Rekomendacja
Zaktualizuj Starman do wersji 0.4019 lub nowszej. Rozważ ograniczenie długości nagłówków i linii na poziomie proxy.
Inne podatności w Starman
Zobacz wszystkie- CVE-2026-115824Nieznane
Starman w wersjach przed 0.4019 dla Perla pozwala na wyczerpanie pamięci przez nieograniczone buforowanie ciał żądań w trybie chunked. Dekoder nie ogranicza długości linii rozmiaru chunka ani rozmiaru bufora. Zdalny atakujący może wyczerpać pamięć workera pojedynczym połączeniem.
- CVE-2026-115823Nieznane
Starman w wersjach przed 0.4019 dla Perla wysyła ciało odpowiedzi dla żądań HEAD, co desynchronizuje odpowiedzi na połączeniach keep-alive. Ciało jest wysyłane także dla statusów 1xx, 204 i 304. Klient lub proxy może odczytać te bajty jako początek kolejnej odpowiedzi.
- CVE-2026-115817Nieznane
Starman w wersjach przed 0.4019 dla Perla pozwala zatrzymanemu ciału żądania blokować workera bezterminowo, ponieważ read_timeout obejmuje tylko nagłówki. Ciała żądań są czytane blokująco bez terminu. Atakujący może zająć wszystkie workery kilkoma połączeniami.
- CVE-2026-40560Wysokie
Starman dla Perla przed wersją 0.4018 jest podatny na przemycanie żądań HTTP z powodu nieprawidłowego priorytetowania nagłówków. Starman błędnie nadaje priorytet nagłówkowi Content-Length nad Transfer-Encoding: chunked, co jest niezgodne z RFC 7230. Atakujący może wykorzystać tę podatność do przemycania złośliwych żądań HTTP przez pośredniczący reverse proxy.
Oryginalny opis (angielski, źródło NVD)
Starman versions before 0.4019 for Perl allow CPU exhaustion via quadratic regex backtracking when parsing chunked request bodies. Starman decodes chunked request bodies before calling the application, matching each chunk-size line with `s/^(([0-9a-fA-F]+).*\015\012)//`. A line of hex digits followed by a bare LF and then CRLF never matches, because `.` does not match LF, and each failed attempt backtracks in time quadratic in the length of the hex run. Nothing limits the length of the line. A remote attacker can exhaust worker CPU by sending such requests to any route.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

