MIME::Words versions before 5.521 for Perl allow memory exhaustion via repeated "=?" sequences in decode_mimewords
MIME::Words versions before 5.521 for Perl allow memory exhaustion via repeated "=?" sequences in decode_mimewords. For each "=?" that does not start a complete encoded word, decode_mimewords appends an error message containing the whole input string to $@. A boundary of 8,000 "=?" pairs (16,000 bytes) adds 8,000 copies of itself to $@, about 128 MB. From version 5.518, MIME::Parser decodes every multipart boundary this way, so a remote sender can exhaust the memory of the parsing process with one Content-Type header.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-116270
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 20:24 UTC · Revision 1
Source evidence
MIME::Words versions before 5.521 for Perl allow memory exhaustion via repeated "=?" sequences in decode_mimewords
core-cve · Original sourcePublished 28 Oct 2026, 17:33 UTC
MIME::Words versions before 5.521 for Perl allow memory exhaustion via repeated "=?" sequences in decode_mimewords. For each "=?" that does not start a complete encoded word, decode_mimewords appends an error message containing the whole input string to $@. A boundary of 8,000 "=?" pairs (16,000 bytes) adds 8,000 copies of itself to $@, about 128 MB. From version 5.518, MIME::Parser decodes every multipart boundary this way, so a remote sender can exhaust the memory of the parsing process with one Content-Type header.
cve:CVE-2026-116270
Complete source record
{
"id": "ab6c05c1763b43ed07355180fd298d50974abdef89d5cda4bf86900928b0b17e",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-116270",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "MIME::Words versions before 5.521 for Perl allow memory exhaustion via repeated \"=?\" sequences in decode_mimewords",
"summary": "MIME::Words versions before 5.521 for Perl allow memory exhaustion via repeated \"=?\" sequences in decode_mimewords. For each \"=?\" that does not start a complete encoded word, decode_mimewords appends an error message containing the whole input string to $@. A boundary of 8,000 \"=?\" pairs (16,000 bytes) adds 8,000 copies of itself to $@, about 128 MB. From version 5.518, MIME::Parser decodes every multipart boundary this way, so a remote sender can exhaust the memory of the parsing process with one Content-Type header.",
"evidence": "cve:CVE-2026-116270",
"products": [],
"severity": "unknown",
"structured": {
"id": "CVE-2026-116270",
"aliases": [
"CVE-2026-116270"
],
"metrics": [],
"affected": [
{
"repo": "https://salsa.debian.org/dskoll/mime-tools",
"modules": [
"MIME::Words"
],
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "5.521",
"versionType": "custom"
}
],
"packageURL": "pkg:cpan/MIME-tools",
"packageName": "MIME-tools",
"programFiles": [
"lib/MIME/Words.pm",
"lib/MIME/Head.pm"
],
"collectionURL": "https://cpan.org/modules",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "MIME::Words::decode_mimewords"
},
{
"name": "MIME::Head::multipart_boundary"
}
]
}
],
"modified": "2026-10-28T17:33:48.187Z",
"provider": "cve",
"references": [
"https://metacpan.org/release/DSKOLL/MIME-tools-5.521/changes"
],
"provider_metadata": {
"cna": {
"orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
"shortName": "CPANSec",
"dateUpdated": "2026-10-28T17:33:48.187Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-116270",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-cve",
"document_id": 466446,
"published_at": "2026-10-28T17:33:48.187+00:00"
}