Skip to main content

Starman CVE-2026-40560

HIGH
HTTP Request/Response Smuggling (CWE-444)
2026-04-29 9b29abf9-4ab0-4765-b253-1875cd9b441e
7.5
CVSS 3.1 · Vendor: 9b29abf9-4ab0-4765-b253-1875cd9b441e
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify site with Starman behind proxy
  2. Delivery
    Craft request with both CL and TE:chunked
  3. Exploit
    Proxy and Starman disagree on boundaries
  4. Execution
    Smuggle trailing bytes into next request
  5. Impact
    Poison victim request / capture data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service HTTP request consistency
Exploitation Conditions

Exploitation requires Starman (version < 0.4018) to be deployed behind a front-end reverse proxy or load balancer that interprets the conflicting Content-Length and Transfer-Encoding: chunked headers differently than Starman does - this proxy/backend parsing disagreement is the essential precondition, not merely 'network access.' The attacker sends an unauthenticated HTTP request (PR:N, no user interaction) containing both a Transfer-Encoding: chunked body and a mismatched Content-Length. Limiting factors: a bare Starman with no fronting proxy that would re-parse the request is not smuggling-exploitable in the classic sense; the attack's success depends on the specific header-handling behavior of the deployed proxy, and proxies that reject or normalize dual-length requests neutralize it. There is no authentication or special user privilege requirement, but the deployment-topology dependency (vulnerable proxy pairing) is what makes real-world exploitation non-universal.

Impact

Signals are mixed and lean toward moderate, environment-dependent risk rather than an urgent, broadly exploitable emergency. The NVD CVSS 3.1 base score is 7.5 (AV:N/AC:L/PR:N/UI:N/C:H/I:N/A:N), reflecting unauthenticated network reach and confidentiality impact from stealing smuggled requests. However, EPSS is only 0.02% (5th percentile) and CISA SSVC lists Exploitation: none, Automatable: yes, Technical Impact: partial - so while automation is feasible, no exploitation is currently observed and it is not on the KEV list. A key nuance the NVD vector understates: request smuggling is only practically exploitable when Starman is deployed behind a front-end proxy whose parsing disagrees with Starman's, which is a real limiting factor arguing for higher attack complexity than AC:L suggests. The NVD scoring of C:H/I:N is also debatable: smuggling typically enables request manipulation (integrity) as much as disclosure, and the vendor tags include both 'Information Disclosure' and 'Request Smuggling' - treat the impact profile as covering both confidentiality and integrity. Net: a legitimate patch-soon issue for internet-facing Perl stacks, not a drop-everything zero-day.

Exploit ScenarioDerived

An attacker sends a single crafted POST to a public site fronted by a reverse proxy, including both Content-Length and Transfer-Encoding: chunked so the proxy frames the request one way while Starman frames it another. The trailing bytes Starman leaves in the connection buffer are prepended to the next legitimate user's request, letting the attacker poison that request, bypass front-end access controls, or capture victim data. No public exploit is identified at time of analysis, though the fix commit ships a proof-of-concept-style regression test demonstrating the desync behavior.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

HTTP request smuggling in Starman, the preforking Perl PSGI/Plack web server, affects all releases before 0.4018 due to incorrect header precedence (CWE-444): when a request carries both Content-Length and Transfer-Encoding: chunked, Starman honors Content-Length instead of chunked encoding, violating RFC 7230 §3.3.3. When Starman sits behind a front-end reverse proxy that resolves the ambiguity differently, an attacker can desynchronize the two parsers to smuggle requests, poison the request queue, and capture or manipulate other users' traffic. There is no public exploit identified at time of analysis, EPSS is very low (0.02%), and CISA SSVC records exploitation status as none, but a vendor patch is available in version 0.4018.

RemediationAI

Vendor-released patch: upgrade to Starman 0.4018 or later, which reorders header handling so Transfer-Encoding: chunked takes precedence over Content-Length (fix commit ced205f, changelog at https://metacpan.org/release/MIYAGAWA/Starman-0.4018/changes). On Debian/Ubuntu, apply the distribution's patched package rather than relying on the CPAN version. If you cannot upgrade immediately, the most effective compensating control is at the front-end reverse proxy: configure the proxy to normalize or reject ambiguous requests that contain both Content-Length and Transfer-Encoding headers (for example, drop such requests or strip Transfer-Encoding), and ensure the proxy does not forward chunked bodies to Starman in a way that lets the two parsers disagree - the trade-off is that legitimate but unusual chunked clients may be rejected. Additionally, avoid exposing Starman directly to untrusted networks without a hardening proxy. Review the oss-security notice http://www.openwall.com/lists/oss-security/2026/04/29/1 and VulDB entry https://vuldb.com/vuln/360091 for advisory detail.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Starman is a high-performance preforking PSGI/Plack HTTP server for Perl (CPE cpe:2.3:a:miyagawa:starman), widely used to run Perl web applications behind reverse proxies such as nginx or Apache. The flaw is a classic TE.CL / CL.TE request-smuggling condition rooted in CWE-444 (Inconsistent Interpretation of HTTP Requests). RFC 7230 §3.3.3 requires that when both Transfer-Encoding and Content-Length are present, Transfer-Encoding must take precedence and Content-Length must be ignored (or the message rejected). The vulnerable code in lib/Starman/Server.pm (_prepare_env) evaluated Content-Length first in an if/elsif chain, so a chunked body with a deliberately wrong Content-Length was framed by the CONTENT_LENGTH value rather than by chunk decoding. The fix (commit ced205f) reorders the logic so the $chunked branch is tested before the Content-Length branch, and adds regression test t/te_cl_precedence.t which sends a chunked 'Hello World' body with Content-Length: 5 and asserts the full body is read.

Know when Starman gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (9b29abf9-4ab0-4765-b253-1875cd9b441e) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.4 HIGH

Unauthenticated remote (AV:N/PR:N), but AC:H because success depends on a front-end proxy that parses the dual headers differently; smuggling enables both disclosure and request manipulation, so C:H/I:H.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
SUSE HIGH

Primary rating from Vendor (9b29abf9-4ab0-4765-b253-1875cd9b441e).

CVSS VectorVendor: 9b29abf9-4ab0-4765-b253-1875cd9b441e

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

3
CVSS changed
Apr 29, 2026 - 14:38 NVD
7.5 (HIGH)
Patch released
Apr 29, 2026 - 08:30 nvd
Patch available
CVE Published
Apr 29, 2026 - 00:16 nvd
HIGH 7.5

DescriptionCVE.org

Starman versions before 0.4018 for Perl allows HTTP Request Smuggling via Improper Header Precedence.

Starman 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.

Executive ViewAI

Why It Matters

Starman web server before version 0.4018 is vulnerable to HTTP request smuggling, which allows attackers to intercept and manipulate traffic flowing through reverse proxies, directly exposing user data and application integrity. Organizations running Starman in production environments, particularly in containerized or cloud architectures, face immediate risk to session hijacking, data theft, and request manipulation unless upgraded.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 95% exploitable
Prevalence
Medium
popular Perl PSGI/Plack server, common in Perl web deployments
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

HTTP request smuggling exploits inconsistencies in how front-end and back-end servers parse HTTP message boundaries.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:miyagawa:starman:*:*:*:*:*:perl:*:*

Vendor StatusVendor

Debian

starman
Release Status Fixed Version Urgency
bullseye vulnerable 0.4015-1 -
bookworm vulnerable 0.4016-1 -
forky, sid, trixie vulnerable 0.4017-1 -
(unstable) fixed (unfixed) -

SUSE

Severity: High

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy