Description
Starlet versions through 0.31 for Perl allows HTTP Request Smuggling via Improper Header Precedence.

Starlet incorrectly prioritizes "Content-Length" over "Transfer-Encoding: chunked" when both headers are present in an HTTP request. Per RFC 7230 3.3.3, Transfer-Encoding must take precedence.

An attacker could exploit this to smuggle malicious HTTP requests via a front-end reverse proxy.
Published: 2026-05-03
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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. The EPSS score of < 1% indicates a low probability that this vulnerability will be exploited in the wild, and the issue is not listed in the CISA KEV catalog. While the CVSS score of 5.3 represents medium severity, the potential to alter downstream requests still poses a risk. 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.

Generated by OpenCVE AI on May 4, 2026 at 15:23 UTC.

Remediation

Vendor Solution

Upgrade to Starlet 0.32 or later.


Vendor Workaround

Migrate to Starman 0.4018 or later which has fixed this issue or apply the patch.


OpenCVE Recommended Actions

  • Apply the upstream patch from commit a7d5dfd1862aafa43e5eaca0fdb6acf4cc15b2d0 provided by Kazuho
  • Migrate to Starman version 0.4018 or later where the header precedence bug is fixed
  • Ensure that any request forwarded to Starlet does not contain both Content-Length and Transfer-Encoding: chunked headers, or that proxies perform their own header validation

Generated by OpenCVE AI on May 4, 2026 at 15:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 07 May 2026 17:00:00 +0000

Type Values Removed Values Added
References

Wed, 06 May 2026 20:30:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:kazuho:starlet:*:*:*:*:*:perl:*:*

Mon, 04 May 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Kazuho
Kazuho starlet
Vendors & Products Kazuho
Kazuho starlet

Mon, 04 May 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sun, 03 May 2026 05:30:00 +0000

Type Values Removed Values Added
References

Sun, 03 May 2026 01:15:00 +0000

Type Values Removed Values Added
Description Starlet versions through 0.31 for Perl allows HTTP Request Smuggling via Improper Header Precedence. Starlet incorrectly prioritizes "Content-Length" over "Transfer-Encoding: chunked" when both headers are present in an HTTP request. Per RFC 7230 3.3.3, Transfer-Encoding must take precedence. An attacker could exploit this to smuggle malicious HTTP requests via a front-end reverse proxy.
Title Starlet versions through 0.31 for Perl allows HTTP Request Smuggling via Improper Header Precedence
Weaknesses CWE-444
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-05-07T16:45:01.655Z

Reserved: 2026-04-14T11:35:53.644Z

Link: CVE-2026-40561

cve-icon Vulnrichment

Updated: 2026-05-03T03:04:55.098Z

cve-icon NVD

Status : Modified

Published: 2026-05-03T01:15:58.390

Modified: 2026-05-07T17:15:58.750

Link: CVE-2026-40561

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-04T16:06:41Z

Weaknesses