---
id: "CVE-2026-116131"
kind: "vulnerability"
aliases: ["CVE-2026-116131"]
title: "Perl HTTP::Body: unlimited form fields let one request exhaust memory"
severity: "medium"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["http-body", "package", "perl", "self-hosted", "web-apps"]
not_affected_if: ["limits-enforced-at-proxy", "no-untrusted-request-bodies"]
published_at: "2026-10-28T18:17:12+00:00"
first_seen_at: "2026-10-28T18:34:32+00:00"
updated_at: "2026-10-28T18:35:37+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116131", "first_seen_at": "2026-10-28T18:34:32+00:00"}]
---

# Perl HTTP::Body: unlimited form fields let one request exhaust memory

HTTP::Body, a Perl module that parses HTTP request bodies, has no limit on how many form fields or multipart parts a request can carry. A remote attacker can send one oversized body to exhaust worker memory or flood the disk with temporary files.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed version with `perl -MHTTP::Body -e 'print $HTTP::Body::VERSION'`
- Find where it is pulled in, for example with `cpanm --info HTTP::Body` or by searching the dependency tree of your Perl app
- unknown whether other checks are needed

## Fix

- Upgrade HTTP::Body to `1.23_01` or later
- unknown whether a configuration workaround exists before upgrading

## Timeline

- 2026-10-28T18:34:32+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116131

## From the sources

HTTP::Body versions before 1.23_01 for Perl allow memory and temporary file exhaustion via an unlimited number of form fields and multipart parts.

The urlencoded parser splits the whole body on its separators at once, creating one scalar per separator before any field is stored. This costs about 90 bytes of memory per separator byte. The multipart parser creates a temporary file for every part that carries a filename. Neither parser limits how many fields or parts a body may hold.

A remote attacker can exhaust worker memory with a body made of separators, or create thousands of temporary files with one request of small file parts.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
