CVE-2026-115817
Beschrijving NL
Starman-versies vóór 0.4019 voor Perl laten een vastgelopen aanvraaginstantie toe om een werknemer voor onbepaalde tijd vast te houden, aangezien read_timeout alleen de headers dekt. Inhoudslengte en gechunkte aanvraagbody's worden gelezen met blokkerende leesbewerkingen en zonder deadline. Een klant die volledige headers stuurt en vervolgens het lichaam afremt of druppelt, laat de werknemer wachten tot hij de verbinding verbreekt. Een externe aanvaller kan elke werknemer met een paar van dergelijke verbindingen nemen, vijf met het standaard aantal werknemers, zodat de server stopt met het beantwoorden van verzoeken. Versie 0.4019 past read_timeout toe op elk wachten op lichaamsgegevens en voegt standaard een body_timeout-limiet toe, 300 seconden, op de totale tijd om een lichaam te lezen.
Origineel (Engels) tonen
Starman versions before 0.4019 for Perl allow a stalled request body to hold a worker indefinitely, as read_timeout covers only the headers.
Content-Length and chunked request bodies are read with blocking reads and no deadline. A client that sends complete headers and then stalls or trickles the body keeps the worker waiting until it disconnects.
A remote attacker can take every worker with a few such connections, five with the default worker count, so the server stops answering requests.
Version 0.4019 applies read_timeout to each wait for body data and adds a body_timeout limit, 300 seconds by default, on the total time to read a body.