Podatności Starlet
5 znanych podatności CVE w Starlet, przetłumaczonych i ocenionych.
- CVE-2026-116128Niskie ryzyko· EPSS 15%
W Starlet w wersjach od 0.20 przed 0.33 dla Perla występuje wyczerpanie pamięci przez nieograniczone buforowanie przy dekodowaniu ciał żądań w formacie chunked. Dekoder dodaje każdy odczyt do jednego bufora nieprzetworzonego wejścia; nic nie ogranicza długości wiersza rozmiaru chunka, więc wiersz bez CRLF powiększa bufor tak długo, jak klient wysyła dane, a limit czasu odczytu restartuje się po każdym odczycie; dane dużego chunka są również trzymane w buforze do nadejścia całego chunka.
- CVE-2026-116127Niskie ryzyko· EPSS 5%
W Starlet w wersjach przed 0.33 dla Perla odpowiedzi na żądania HEAD zawierają ciało, co psuje kolejną odpowiedź na połączeniu trwałym lub potokowym. Metoda żądania nie jest przekazywana do writera odpowiedzi, więc ciało zwrócone przez aplikację dla HEAD jest wysyłane; z Plack::Middleware::Head ciało jest puste, ale odpowiedź HTTP/1.1 bez nagłówka Content-Length i tak otrzymuje terminator kodowania chunked; odpowiedzi ze statusem 204 lub 304 są również wysyłane z ciałem.
- CVE-2026-115866Niskie ryzyko· EPSS 15%
W Starlet w wersjach od 0.20 przed 0.33 dla Perla występuje wyczerpanie CPU przez backtracking wyrażeń regularnych przy dekodowaniu ciał żądań w formacie chunked. Wiersz rozmiaru chunka jest dopasowywany jako ciąg cyfr hex, następnie .* i CRLF; ciąg zakończony samym LF, a potem CRLF, nigdy nie pasuje, a silnik ponawia dopasowanie raz na każdą cyfrę, więc czas rośnie z kwadratem długości ciągu; nic nie ogranicza długości ciągu, który może obejmować kilka odczytów.
- CVE-2026-115865Niskie ryzyko· EPSS 15%
W Starlet w wersjach przed 0.33 dla Perla żądanie deklarujące duży Content-Length może zabić worker przez wyczerpanie pamięci. Ciało żądania jest czytane w pętli, która prosi sysread o całą pozostałą zadeklarowaną długość naraz; Perl powiększa bufor odczytu do tego rozmiaru przed nadejściem jakichkolwiek danych, więc długość większa niż dostępna pamięć powoduje zakończenie workera nieprzechwytywalnym błędem braku pamięci, zanim aplikacja zostanie wywołana.
- CVE-2026-40561Średnie
Starlet w wersji do 0.31 dla Perla pozwala na przemyt żądań HTTP (HTTP Request Smuggling) poprzez nieprawidłowe pierwszeństwo nagłówków. Starlet błędnie priorytetyzuje "Content-Length" nad "Transfer-Encoding: chunked", gdy oba nagłówki są obecne w żądaniu HTTP, podczas gdy zgodnie z RFC 7230 3.3.3 to Transfer-Encoding powinien mieć pierwszeństwo.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

