HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary
HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary. Before the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor "--", is therefore rescanned on every chunk, taking time quadratic in its size. A remote attacker can exhaust worker CPU with a few such requests.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-116133
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 19:25 UTC · Revision 1
Source evidence
HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary
core-cve · Original sourcePublished 28 Oct 2026, 17:15 UTC
HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary. Before the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor "--", is therefore rescanned on every chunk, taking time quadratic in its size. A remote attacker can exhaust worker CPU with a few such requests.
cve:CVE-2026-116133
Complete source record
{
"id": "d5a93b70d30af8917b42e214bcaee0d813bd210d5121f8028938d85a1816d24a",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-116133",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary",
"summary": "HTTP::Body versions before 1.23_01 for Perl allow CPU exhaustion via quadratic rescanning of a multipart body with a missing or malformed boundary. Before the first part, and between parts, the multipart parser searches the whole buffered body for the next boundary. On a miss it keeps everything and searches again from the start when the next chunk arrives. A body with no boundary, or with a delimiter followed by neither CRLF nor \"--\", is therefore rescanned on every chunk, taking time quadratic in its size. A remote attacker can exhaust worker CPU with a few such requests.",
"evidence": "cve:CVE-2026-116133",
"products": [],
"severity": "unknown",
"structured": {
"id": "CVE-2026-116133",
"aliases": [
"CVE-2026-116133"
],
"metrics": [],
"affected": [
{
"repo": "https://github.com/libwww-perl/HTTP-Body",
"modules": [
"HTTP::Body"
],
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "1.23_01",
"versionType": "custom"
}
],
"packageURL": "pkg:cpan/HTTP-Body",
"packageName": "HTTP-Body",
"programFiles": [
"lib/HTTP/Body/MultiPart.pm"
],
"collectionURL": "https://cpan.org/modules",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "HTTP::Body::MultiPart::parse_preamble"
},
{
"name": "HTTP::Body::MultiPart::parse_boundary"
}
]
}
],
"modified": "2026-10-28T17:15:16.522Z",
"provider": "cve",
"references": [
"https://github.com/libwww-perl/HTTP-Body/commit/bf77eb959bbe1641b77f69eefe98d58ce4c4ec79.patch",
"https://metacpan.org/release/GETTY/HTTP-Body-1.24/changes"
],
"provider_metadata": {
"cna": {
"orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"shortName": "CPANSec",
"dateUpdated": "2026-10-28T17:15:16.522Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-116133",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-cve",
"document_id": 464407,
"published_at": "2026-10-28T17:15:16.522+00:00"
}