Every CVE Search/ Get API key

CVE-2026-116271

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes

7.0 HighFix available

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes.

Each message is written to a directory named msg-<time>-<pid>-<n> under the output base, and an existing directory of that name is used as is. A file name counts as unused when nothing exists at that path, which holds for a dangling symlink, and the body file is then opened in a way that follows the link.

When the output base is writable by other users, as with output_under("/tmp"), a local user can pre-create the directory with a symlink named like an attachment. The parser then writes the attachment to the link target with the privileges of the parsing process.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.13%Down 0.1 points since Oct 29, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.0

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes.

Each message is written to a directory named msg-<time>-<pid>-<n> under the output base, and an existing directory of that name is used as is. A file name counts as unused when nothing exists at that path, which holds for a dangling symlink, and the body file is then opened in a way that follows the link.

When the output base is writable by other users, as with output_under("/tmp"), a local user can pre-create the directory with a symlink named like an attachment. The parser then writes the attachment to the link target with the privileges of the parsing process.

Record
CVE-2026-116271
CVSS 3.1
7.0 HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-59
Updated
2026-11-05
EUVDEUVD-2026-112304 7.0

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes.

Each message is written to a directory named msg-<time>-<pid>-<n> under the output base, and an existing directory of that name is used as is. A file name counts as unused when nothing exists at that path, which holds for a dangling symlink, and the body file is then opened in a way that follows the link.

When the output base is writable by other users, as with output_under("/tmp"), a local user can pre-create the directory with a symlink named like an attachment. The parser then writes the attachment to the link target with the privileges of the parsing process.

Record
EUVD-2026-112304
CVSS 3.1
7.0 HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-05
GitHub AdvisoriesGHSA-x3mf-3f47-pgpf 7.0

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and...

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes.

Each message is written to a directory named msg-<time>-<pid>-<n> under the output base, and an existing directory of that name is used as is. A file name counts as unused when nothing exists at that path, which holds for a dangling symlink, and the body file is then opened in a way that follows the link.

When the output base is writable by other users, as with output_under("/tmp"), a local user can pre-create the directory with a symlink named like an attachment. The parser then writes the attachment to the link target with the privileges of the parsing process.

Record
GHSA-x3mf-3f47-pgpf
CVSS 3.1
7.0 HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-59
Updated
2026-11-05
NVD 7.0

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes.

Each message is written to a directory named msg-<time>-<pid>-<n> under the output base, and an existing directory of that name is used as is. A file name counts as unused when nothing exists at that path, which holds for a dangling symlink, and the body file is then opened in a way that follows the link.

When the output base is writable by other users, as with output_under("/tmp"), a local user can pre-create the directory with a symlink named like an attachment. The parser then writes the attachment to the link target with the privileges of the parsing process.

Record
CVE-2026-116271
CVSS 3.1
7.0 HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-59
Updated
2026-11-05
OSVDEBIAN-CVE-2026-116271 7.0

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes. Each message is written to a directory named msg-<time>-<pid>-<n> under the output base, and an existing directory of that name is used as is. A file name counts as unused when nothing exists at that path, which holds for a dangling symlink, and the body file is then opened in a way that follows the link. When the output base is writable by other users, as with output_under("/tmp"), a local user can pre-create the directory with a symlink named like an attachment. The parser then writes the attachment to the link target with the privileges of the parsing process.

Record
DEBIAN-CVE-2026-116271
CVSS 3.1
7.0 HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-06
OSVUBUNTU-CVE-2026-116271 7.0

MIME::Parser::FileUnder versions before 5.521 for Perl reuse a pre-created output directory and follow symlinks in it, letting local users redirect attachment writes. Each message is written to a directory named msg-<time>-<pid>-<n> under the output base, and an existing directory of that name is used as is. A file name counts as unused when nothing exists at that path, which holds for a dangling symlink, and the body file is then opened in a way that follows the link. When the output base is writable by other users, as with output_under("/tmp"), a local user can pre-create the directory with a symlink named like an attachment. The parser then writes the attachment to the link target with the privileges of the parsing process.

Record
UBUNTU-CVE-2026-116271
CVSS 3.1
7.0 HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
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…
Record
openSUSE-SU-2026:22226-1
Updated
2026-11-04

Affected packages

Affected packages
PackageAffectedFixed
libmime-tools-perl
Debian:12
All versions, plus listed versions
5.510-15.510-25.510-35.512-15.513-1
Show 7 moreShow less
5.514-15.515-15.517-15.518-15.519-15.520-15.522-1
None known
libmime-tools-perl
Debian:13
All versions, plus listed versions
5.515-15.517-15.518-15.519-15.520-15.522-1
None known
libmime-tools-perl
Debian:14
before 5.522-1, plus listed versions
5.515-15.517-15.518-15.519-15.520-1
5.522-1
libmime-tools-perl
Ubuntu:14.04:LTS
All versions, plus listed versions
5.503-15.504-15.505-1
None known
libmime-tools-perl
Ubuntu:16.04:LTS
All versions, plus listed versions
5.505-15.507-1
None known
libmime-tools-perl
Ubuntu:18.04:LTS
All versions, plus listed versions
5.508-15.509-1
None known
libmime-tools-perl
Ubuntu:20.04:LTS
All versions, plus listed versions
5.509-1
None known
libmime-tools-perl
Ubuntu:22.04:LTS
All versions, plus listed versions
5.509-1
None known
libmime-tools-perl
Ubuntu:24.04:LTS
All versions, plus listed versions
5.510-35.512-15.513-15.514-1
None known
libmime-tools-perl
Ubuntu:26.10
All versions, plus listed versions
5.517-1
None known
libmime-tools-perl
Ubuntu:26.04:LTS
All versions, plus listed versions
5.515-15.517-1
None known
perl-MIME-tools
openSUSE:Tumbleweed
From an advisory covering 10 CVEs
before 5.522.0-1.1
5.522.0-1.1
perl-MIME-tools
openSUSE:Leap 16.0
From an advisory covering 10 CVEs
before 5.522.0-bp160.1.1
5.522.0-bp160.1.1

History

History
RecordedChangedSources
affectedEUVD, GitHub Advisories, NVD
severityCVE List
publishedOSV
affected, aliases, facts, referencesOSV
affectedOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-116271 is a high vulnerability (CVSS 7.0) 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.13%, the 2nd percentile. Fixed in libmime-tools-perl 5.522-1.

References

Show 21 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open