CVE-2026-115866: Starlet versions from 0.20 before 0.33 for Perl allow CPU exhaustion via regular expression backtracking when decoding chunked request bodies Robert Rothenberg 30 Oct 2026 12:48 UTC

========================================================================
CVE-2026-115866                                      CPAN Security Group
========================================================================

         CVE ID:  CVE-2026-115866

   Distribution:  Starlet
       Versions:  from 0.20 before 0.33
       MetaCPAN:  https://metacpan.org/dist/Starlet
       VCS Repo:  https://github.com/kazuho/Starlet

Starlet versions from 0.20 before 0.33 for Perl allow CPU exhaustion
via regular expression backtracking when decoding chunked request
bodies

Description
-----------
Starlet versions from 0.20 before 0.33 for Perl allow CPU exhaustion
via regular expression backtracking when decoding chunked request
bodies.

A chunk-size line is matched as a run of hex digits, then .* and a
CRLF. A run followed by a bare LF and then a CRLF can never match, and
the engine retries the match once for each digit, so the time taken
grows with the square of the run length. Nothing limits the length of
the run, which can span several reads.

A remote attacker can occupy a worker for about a minute of CPU time
with one 128 KiB request, before the application is called.

Problem types
-------------
- CWE-1333 Inefficient Regular Expression Complexity

Solutions
---------
Upgrade to Starlet 0.33 or later.

References
----------
https://github.com/kazuho/Starlet/commit/229ea56b3b50028e2a644156317e8d0e7cf68a1f.patch
https://metacpan.org/release/KAZUHO/Starlet-0.33/changes