Impact
Starlet for Perl up to version 0.31 incorrectly prioritizes the Content-Length header over Transfer-Encoding: chunked when both are present in an HTTP request. This violates RFC 7230 section 3.3.3, where Transfer-Encoding must take precedence. Consequently, an attacker can craft requests that are interpreted differently by a front‑end reverse proxy and an upstream server, enabling malicious requests to be smuggled through the proxy. The vulnerability is a class‑404 CWE‑444 weakness in header handling and could allow the attacker to inject or modify traffic intended for a downstream service.
Affected Systems
The affected product is Starlet for Perl supplied by Kazuho. Versions through 0.31 are impacted. Users running Starlet 0.31 or earlier are susceptible; newer releases are not noted to be affected.
Risk and Exploitability
Because the flaw relies on standard HTTP header handling, the attack surface is significant for any deployment using Starlet behind a proxy that may send both headers. While no EPSS score is available and the issue is not listed in CISA KEV, the relative severity is high due to the potential to alter downstream requests. The attack vector is via an HTTP client that inserts both headers in a single request to the proxy. Effective exploitation requires the proxy to not properly enforce RFC rules, a condition likely present in default Starlet configurations.
OpenCVE Enrichment