CVE-2026-116272
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment.
A parameter written boundary((c))="A" or boundary())="A" is stored under that literal name rather than as boundary. A second boundary parameter is then not reported as a duplicate, and MIME::Parser splits the message on it.
Readers that skip comments as RFC 5322 allows take the first boundary instead. A remote sender can hide an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.3
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment.
A parameter written boundary((c))="A" or boundary())="A" is stored under that literal name rather than as boundary. A second boundary parameter is then not reported as a duplicate, and MIME::Parser splits the message on it.
Readers that skip comments as RFC 5322 allows take the first boundary instead. A remote sender can hide an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.
- Record
CVE-2026-116272- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-436
- Updated
- 2026-11-05
EUVDEUVD-2026-112305
5.3
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment.
A parameter written boundary((c))="A" or boundary())="A" is stored under that literal name rather than as boundary. A second boundary parameter is then not reported as a duplicate, and MIME::Parser splits the message on it.
Readers that skip comments as RFC 5322 allows take the first boundary instead. A remote sender can hide an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.
- Record
EUVD-2026-112305- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-05
GitHub AdvisoriesGHSA-hx8x-4mjr-grc3
5.3
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter...
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment.
A parameter written boundary((c))="A" or boundary())="A" is stored under that literal name rather than as boundary. A second boundary parameter is then not reported as a duplicate, and MIME::Parser splits the message on it.
Readers that skip comments as RFC 5322 allows take the first boundary instead. A remote sender can hide an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.
- Record
GHSA-hx8x-4mjr-grc3- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-436
- Updated
- 2026-11-05
NVD
5.3
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment.
A parameter written boundary((c))="A" or boundary())="A" is stored under that literal name rather than as boundary. A second boundary parameter is then not reported as a duplicate, and MIME::Parser splits the message on it.
Readers that skip comments as RFC 5322 allows take the first boundary instead. A remote sender can hide an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.
- Record
CVE-2026-116272- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-436
- Updated
- 2026-11-05
OSVDEBIAN-CVE-2026-116272
5.3
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment. A parameter written boundary((c))="A" or boundary())="A" is stored under that literal name rather than as boundary. A second boundary parameter is then not reported as a duplicate, and MIME::Parser splits the message on it. Readers that skip comments as RFC 5322 allows take the first boundary instead. A remote sender can hide an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.
- Record
DEBIAN-CVE-2026-116272- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-06
OSVUBUNTU-CVE-2026-116272
5.3
MIME::Field::ParamVal versions before 5.521 for Perl do not flag a duplicate boundary parameter whose name contains a nested comment. A parameter written boundary((c))="A" or boundary())="A" is stored under that literal name rather than as boundary. A second boundary parameter is then not reported as a duplicate, and MIME::Parser splits the message on it. Readers that skip comments as RFC 5322 allows take the first boundary instead. A remote sender can hide an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.
- Record
UBUNTU-CVE-2026-116272- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-07
OSVopenSUSE-SU-2026:12347-1 No score
perl-MIME-tools-5.522.0-1.1 on GA media
These are all security issues fixed in the perl-MIME-tools-5.522.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12347-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:22226-1 No score
Security update for perl-MIME-tools
This update for perl-MIME-tools fixes the following issues:
Changes in perl-MIME-tools:
- updated to 5.522.0 (5.522)
- 5.522
- VERSION 5.522 RELEASED
- Many security issues were addressed (see the following ten CVEs) Issues were brought to my attention, and patches supplied, by the CPANSec security group.
- parse_params: flag a parameter list that could not be parsed Detect additional ambiguous parse situations when parameter names contain illegal characters. Fixes: CVE-2026-116264 invalid parameter hides boundary/filename. bsc#1288723
- parse_params: check the boundary after RFC 2231 reassembly Another ambiguous-parse case was missed (trailing space after boundary was not detected for RFC-2231-encoded boundaries.) Fixes: CVE-2026-116265 RFC 2231 boundary skips ambiguity checks. bsc#1288722
- parse_params: Stricter checking for encoded boundaries; earlier versions would miss some cases. Fixes: CVE-2026-116266 boundary changed by decoding not flagged. bsc#1288721
- Cap the indentation levels in the Results: structure. Otherwise, specially-crafted messages could consume large amounts of memory. Fixes: CVE-2026-116267 indent stored per message per level bsc#1288720
- parse_params: stop a comment match at the next parenthesis. Otherwise, specially-crafted messages could cause the regex back-tracker to consume large amounts of CPU time. Note that MIME::Parser does not correctly parse ((nested comments)) and has never done so. Fixes: CVE-2026-116268 unclosed "(" comments backtrack CPU exhaustion. bsc#1288719
- parse_params: re-encode filename* values without charset tricks Specially-crafted messages could trick recommended_filename() into returning an empty string instead of a plausible filename. Fixes: CVE-2026-116269 RFC 2231 language tag empties filename. bsc#1288718
- decode_mimewords: do not copy the input into each error. Otherwise, specially-crafted messages could consume large amounts of memory. Fixes: CVE-2026-116270 each bad "=?" copies the input into $@. bsc#1288717
- FileUnder: do not reuse an existing generated directory. Otherwise, attackers might be able to use symbolic links to get files created in unexpected locations. Fixes: CVE-2026-116271 FileUnder reuses a pre-created directory. bsc#1288716
- parse_params: flag comments other readers do not skip Specially-crafted messages could create ambiguous messages without setting the ambiguous_parse flag. Fixes: CVE-2026-116272 comment hides a duplicate boundary. bsc#1288715
- Call whine() rather than error() if max_parts or max_depth is exceeded during a parse. This lets us return undef rather than throwing an exception if ignore_errors() is set to 0.
- Change to defaults: max_parts is now set to 1000 and max_depth to 64 rather than being unlimited. This should not affect most real-world uses of MIME::tools, but you may need to increase these values or set them to -1 (unlimited) if you run into trouble. ***** NOTE INCOMPATIBILITY ***** Fixes: CVE-2026-116273 max_parts and max_depth unlimited. bsc#1288714
- Do not signal an ambiguous parse if we have filename="" or name=""
- Update author names in META.yml
- Add git repo to META.yml
- 5.520
- VERSION 5.520 RELEASED
- MIME::Parser used O(N^2) CPU time and memory parsing a MIME message nested N levels deep. A smallish specially-crafted message could DOS the computer by making it consume enormous amounts of memory and CPU time. The parser was modified to use O(N) time and memory in this case. Additionally, a new MIME::Parser::max_depth() function was added to limit the nesting depth before declaring a parse failure. Problem was reported to me by Zhaoyang Li and Xiang Li from AOSP Lab at Nankai University.
- MIME::Parser would ignore multiple blank lines in a message preamble when parsing it; this could break DKIM. Problem pointed out and fix…
- 5.522
- Record
openSUSE-SU-2026:22226-1- Updated
- 2026-11-04
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libmime-tools-perlDebian:12 |
All versions, plus listed versions 5.510-15.510-25.510-35.512-15.513-1 Show 7 moreShow less5.514-15.515-15.517-15.518-15.519-15.520-15.522-1 |
None known |
libmime-tools-perlDebian:13 |
All versions, plus listed versions 5.515-15.517-15.518-15.519-15.520-15.522-1 |
None known |
libmime-tools-perlDebian:14 |
before 5.522-1, plus listed versions 5.515-15.517-15.518-15.519-15.520-1 |
5.522-1 |
libmime-tools-perlUbuntu:14.04:LTS |
All versions, plus listed versions 5.503-15.504-15.505-1 |
None known |
libmime-tools-perlUbuntu:16.04:LTS |
All versions, plus listed versions 5.505-15.507-1 |
None known |
libmime-tools-perlUbuntu:18.04:LTS |
All versions, plus listed versions 5.508-15.509-1 |
None known |
libmime-tools-perlUbuntu:20.04:LTS |
All versions, plus listed versions 5.509-1 |
None known |
libmime-tools-perlUbuntu:22.04:LTS |
All versions, plus listed versions 5.509-1 |
None known |
libmime-tools-perlUbuntu:24.04:LTS |
All versions, plus listed versions 5.510-35.512-15.513-15.514-1 |
None known |
libmime-tools-perlUbuntu:26.10 |
All versions, plus listed versions 5.517-1 |
None known |
libmime-tools-perlUbuntu:26.04:LTS |
All versions, plus listed versions 5.515-15.517-1 |
None known |
perl-MIME-toolsopenSUSE:Tumbleweed From an advisory covering 10 CVEs |
before 5.522.0-1.1 | 5.522.0-1.1 |
perl-MIME-toolsopenSUSE:Leap 16.0 From an advisory covering 10 CVEs |
before 5.522.0-bp160.1.1 | 5.522.0-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | EUVD, GitHub Advisories, NVD | |
| severity | CVE List | |
| published | OSV | |
| affected, aliases, facts, references | OSV | |
| affected | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-116272 is a medium vulnerability (CVSS 5.3) in libmime-tools-perl, published October 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.21%, the 10th percentile. Fixed in libmime-tools-perl 5.522-1.
References
metacpan.org/release/DSKOLL/MIME-tools-5.521/changes
nvd.nist.gov/vuln/detail/CVE-2026-116272
github.com/advisories/GHSA-hx8x-4mjr-grc3
security-tracker.debian.org/tracker/CVE-2026-116272
ubuntu.com/security/CVE-2026-116272
cve.org/CVERecord?id=CVE-2026-116272
Show 21 moreShow less
metacpan.org/release/DSKOLL/MIME-tools-5.522/changes
suse.com/security/cve/CVE-2026-116264
suse.com/security/cve/CVE-2026-116265
suse.com/security/cve/CVE-2026-116266
suse.com/security/cve/CVE-2026-116267
suse.com/security/cve/CVE-2026-116268
suse.com/security/cve/CVE-2026-116269
suse.com/security/cve/CVE-2026-116270
suse.com/security/cve/CVE-2026-116271
suse.com/security/cve/CVE-2026-116272
suse.com/security/cve/CVE-2026-116273
bugzilla.suse.com/1288714
bugzilla.suse.com/1288715
bugzilla.suse.com/1288716
bugzilla.suse.com/1288717
bugzilla.suse.com/1288718
bugzilla.suse.com/1288719
bugzilla.suse.com/1288720
bugzilla.suse.com/1288721
bugzilla.suse.com/1288722
bugzilla.suse.com/1288723
Left out here: the rest of 1 source description. The JSON record has them.