{"id":"CVE-2026-115865","state":"PUBLISHED","title":"Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to kill a worker by exhausting memory","description":"Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to kill a worker by exhausting memory.\n\nThe request body is read in a loop that asks sysread for all of the remaining declared length at once. Perl grows the read buffer to that size before any data arrives, so a length larger than available memory makes the worker exit with an uncatchable out of memory error before the application is called.\n\nA remote attacker can force a worker restart with each request of a few bytes.","publishedAt":"2026-10-30T12:44:06.034Z","updatedAt":"2026-10-30T12:44:06.034Z","severity":null,"assigner":"CPANSec","products":["Starlet"],"affected":[{"packageName":"Starlet","packageURL":"pkg:cpan/Starlet","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.33","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","modules":["Starlet"],"programFiles":["lib/Starlet/Server.pm"],"programRoutines":[{"name":"Starlet::Server::handle_connection"}],"repo":"https://github.com/kazuho/Starlet"}],"references":["https://github.com/kazuho/Starlet/commit/598947ac620fd31b390335c683d79fa244770782.patch","https://metacpan.org/release/KAZUHO/Starlet-0.33/changes"],"weaknesses":["CWE-789"],"ingestedAt":"2026-10-30T13:00:06.648Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/115xxx/CVE-2026-115865.json","commit":"cb14bf1b43b0c9f05f7f40eae2246263fd430780","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-115865","state":"PUBLISHED","datePublished":"2026-10-30T12:44:06.034Z","dateUpdated":"2026-10-30T12:44:06.034Z","assignerShortName":"CPANSec","assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateReserved":"2026-10-23T17:37:33.627Z"},"containers":{"cna":{"title":"Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to kill a worker by exhausting memory","descriptions":[{"lang":"en","value":"Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to kill a worker by exhausting memory.\n\nThe request body is read in a loop that asks sysread for all of the remaining declared length at once. Perl grows the read buffer to that size before any data arrives, so a length larger than available memory makes the worker exit with an uncatchable out of memory error before the application is called.\n\nA remote attacker can force a worker restart with each request of a few bytes."}],"affected":[{"packageName":"Starlet","packageURL":"pkg:cpan/Starlet","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.33","versionType":"custom"}],"collectionURL":"https://cpan.org/modules","modules":["Starlet"],"programFiles":["lib/Starlet/Server.pm"],"programRoutines":[{"name":"Starlet::Server::handle_connection"}],"repo":"https://github.com/kazuho/Starlet"}],"references":[{"url":"https://github.com/kazuho/Starlet/commit/598947ac620fd31b390335c683d79fa244770782.patch","tags":["patch"]},{"url":"https://metacpan.org/release/KAZUHO/Starlet-0.33/changes","tags":["release-notes"]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-789","description":"CWE-789 Memory Allocation with Excessive Size Value","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"CPANSec","orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","dateUpdated":"2026-10-30T12:44:06.034Z"},"solutions":[{"lang":"en","value":"Upgrade to Starlet 0.33 or later."}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"cpansec-cna-tool 0.1"}}}}}