{"id":"CVE-2026-115817","state":"PUBLISHED","title":"Starman versions before 0.4019 for Perl allow a stalled request body to hold a worker indefinitely, as read_timeout covers only the headers","description":"Starman versions before 0.4019 for Perl allow a stalled request body to hold a worker indefinitely, as read_timeout covers only the headers.\n\nContent-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.\n\nA remote attacker can take every worker with a few such connections, five with the default worker count, so the server stops answering requests.\n\nVersion 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.","publishedAt":"2026-10-25T16:50:33.914Z","updatedAt":"2026-10-25T16:50:33.914Z","severity":null,"assigner":"CPANSec","products":["Starman"],"affected":[{"packageName":"Starman","packageURL":"pkg:cpan/Starman","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.4019","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","modules":["Starman"],"programFiles":["lib/Starman/Server.pm"],"programRoutines":[{"name":"Starman::Server::_prepare_env"}],"repo":"https://github.com/miyagawa/Starman"}],"references":["https://github.com/miyagawa/Starman/commit/89dffd3bdc9baa1cbe1b48a43615586ba2588558.patch","https://github.com/miyagawa/Starman/commit/a30533c03051502d6b67cd48b3a95a61e129691b.patch","https://metacpan.org/release/MIYAGAWA/Starman-0.4019/changes"],"weaknesses":["CWE-770"],"ingestedAt":"2026-10-29T20:10:43.281Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/115xxx/CVE-2026-115817.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-115817","state":"PUBLISHED","datePublished":"2026-10-25T16:50:33.914Z","dateUpdated":"2026-10-25T16:50:33.914Z","assignerShortName":"CPANSec","assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateReserved":"2026-10-23T16:22:27.039Z"},"containers":{"cna":{"title":"Starman versions before 0.4019 for Perl allow a stalled request body to hold a worker indefinitely, as read_timeout covers only the headers","descriptions":[{"lang":"en","value":"Starman versions before 0.4019 for Perl allow a stalled request body to hold a worker indefinitely, as read_timeout covers only the headers.\n\nContent-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.\n\nA remote attacker can take every worker with a few such connections, five with the default worker count, so the server stops answering requests.\n\nVersion 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."}],"affected":[{"packageName":"Starman","packageURL":"pkg:cpan/Starman","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.4019","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","modules":["Starman"],"programFiles":["lib/Starman/Server.pm"],"programRoutines":[{"name":"Starman::Server::_prepare_env"}],"repo":"https://github.com/miyagawa/Starman"}],"references":[{"url":"https://github.com/miyagawa/Starman/commit/89dffd3bdc9baa1cbe1b48a43615586ba2588558.patch","tags":["patch"]},{"url":"https://github.com/miyagawa/Starman/commit/a30533c03051502d6b67cd48b3a95a61e129691b.patch","tags":["patch"]},{"url":"https://metacpan.org/release/MIYAGAWA/Starman-0.4019/changes","tags":["release-notes"]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-770","description":"CWE-770 Allocation of Resources Without Limits or Throttling","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"CPANSec","orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateUpdated":"2026-10-25T16:50:33.914Z"},"solutions":[{"lang":"en","value":"Upgrade to Starman 0.4019 or later."}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"cpansec-cna-tool 0.1"}}}}}