CVE-2026-116127
Received Received - Intake

HTTP Response Body Leak in Starlet Before 0.33

Vulnerability report for CVE-2026-116127, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-30

Last updated on: 2026-10-30

Assigner: CPANSec

Description

Starlet versions before 0.33 for Perl send a body in responses to HEAD requests, corrupting the next response on a persistent or pipelined connection. The request method is not passed to the response writer, so whatever body the application returns for a HEAD request is sent. With Plack::Middleware::Head the body is empty, but an HTTP/1.1 response without a Content-Length header still gets the chunked encoding terminator. Responses with status 204 or 304 are also sent with their body. Pipelined GET and HEAD requests keep the connection open even when keep-alive is disabled, which is the default. A client or proxy reading the connection takes the extra bytes as the start of the next response, which may desynchronize a proxy that shares the connection across clients.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-30
Last Modified
2026-10-30
Generated
2026-10-30
AI Q&A
2026-10-30
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
kazuho starlet to 0.33 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-444 The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the Starlet web server versions before 0.33 for Perl. It causes the server to incorrectly send response bodies for HEAD requests or responses with status codes like 204 (No Content) or 304 (Not Modified). This happens because the request method is not passed to the response writer, leading to corrupted subsequent responses on persistent or pipelined connections.

Detection Guidance

To detect this vulnerability, check if your Starlet server versions before 0.33 are sending response bodies for HEAD requests or responses with status codes 204 or 304. Use tools like curl to inspect responses: curl -I http://yourserver.com/path to check for unexpected body content in HEAD responses.

Impact Analysis

The vulnerability can corrupt responses on keep-alive or pipelined connections, causing clients or proxies to read extra bytes as the start of the next response. This may desynchronize shared connections across clients, leading to incorrect data processing or security issues.

Mitigation Strategies

Upgrade Starlet to version 0.33 or later to fix the issue. If upgrading is not immediately possible, review server configurations to disable keep-alive or pipelining to prevent response desynchronization. Monitor network traffic for corrupted responses.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-116127. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart