Description
Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to kill a worker by exhausting memory.

The request body is read in a loop that asks sysread for all of the remaining declared length at once. Perl grows the read buffer to that size before any data arrives, so a length larger than available memory makes the worker exit with an uncatchable out of memory error before the application is called.

A remote attacker can force a worker restart with each request of a few bytes.
Published: 2026-10-30
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service via memory exhaustion
Action: Immediate Patch
AI Analysis

Impact

Starlet versions before 0.33 expose a flaw where a request that declares a large Content‑Length header forces the Perl runtime to pre‑allocate a buffer equal to that length. If the declared length exceeds available memory, the worker process dies with an uncaught out‑of‑memory exception before any application code runs, resulting in a service restart. The vulnerability can be triggered with a very small request body; the attacker simply repeats the exploit to cause repeated worker restarts.

Affected Systems

This issue affects the Starlet Perl module in all releases older than 0.33. Systems running code that imports Starlet for HTTP server capabilities and that accept externally supplied Content‑Length headers are potentially impacted. The specific versions are any Starlet version earlier than 0.33.

Risk and Exploitability

The flaw is exploitable over the network, requiring no special privileges and allowing an attacker to cause a denial of service simply by sending specially crafted HTTP requests. CVSS and EPSS metrics are not available, and the vulnerability is not listed in the CISA KEV catalog, but the consequence is a forced restart of worker processes which can incapacitate the entire application or service until the workers recover. The attack vector is remote over HTTP and can be performed repeatedly, leading to sustained availability loss.

Generated by OpenCVE AI on October 30, 2026 at 14:28 UTC.

Remediation

Vendor Solution

Upgrade to Starlet 0.33 or later.


OpenCVE Recommended Actions

  • Upgrade to Starlet 0.33 or later
  • Restart all affected services so the new binaries are in use
  • Configure server limits to cap maximum Content‑Length values to mitigate while waiting for updates

Generated by OpenCVE AI on October 30, 2026 at 14:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 16:15:00 +0000

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

Fri, 30 Oct 2026 13:00:00 +0000

Type Values Removed Values Added
Description Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to kill a worker by exhausting memory. The request body is read in a loop that asks sysread for all of the remaining declared length at once. Perl grows the read buffer to that size before any data arrives, so a length larger than available memory makes the worker exit with an uncatchable out of memory error before the application is called. A remote attacker can force a worker restart with each request of a few bytes.
Title Starlet versions before 0.33 for Perl allow a request declaring a large Content-Length to kill a worker by exhausting memory
Weaknesses CWE-789
References

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-30T12:44:06.034Z

Reserved: 2026-10-23T17:37:33.627Z

Link: CVE-2026-115865

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-30T13:18:30.947

Modified: 2026-10-30T13:18:30.947

Link: CVE-2026-115865

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T16:00:15Z

Weaknesses
  • CWE-789

    Memory Allocation with Excessive Size Value