UBUNTU-CVE-2026-115866: Medium severity ubuntu/starlet vulnerability
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Starletto a version that resolves this vulnerability.Fixed in 0.33
Event History
Frequently Asked Questions
What does an attacker need to send to trigger the CPU exhaustion?
A remote attacker needs to send a malformed chunked request body whose chunk-size line contains a long run of hexadecimal digits followed by a bare LF and then a CRLF. The hexadecimal run can span multiple reads, and no length limit is applied to it.
What is the practical impact of a single malicious request?
One 128 KiB request can occupy a worker for about a minute of CPU time before the application is called. Repeated requests could therefore reduce the capacity available to handle legitimate traffic.
Which Starlet versions are affected?
Starlet versions from 0.20 up to, but not including, 0.33 are affected.