CVE-2026-115865: Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to kill a worker by exhausting memory
Robert Rothenberg 30 Oct 2026 12:47 UTC
========================================================================
CVE-2026-115865 CPAN Security Group
========================================================================
CVE ID: CVE-2026-115865
Distribution: Starlet
Versions: before 0.33
MetaCPAN: https://metacpan.org/dist/Starlet
VCS Repo: https://github.com/kazuho/Starlet
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.
The 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.
A remote attacker can force a worker restart with each request of a few
bytes.
Problem types
-------------
- CWE-789 Memory Allocation with Excessive Size Value
Solutions
---------
Upgrade to Starlet 0.33 or later.
References
----------
https://github.com/kazuho/Starlet/commit/598947ac620fd31b390335c683d79fa244770782.patch
https://metacpan.org/release/KAZUHO/Starlet-0.33/changes