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--- 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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-116271
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 20:24 UTC · Revision 1
Source evidence
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
core-cve · Original sourcePublished 28 Oct 2026, 17:34 UTC
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--- 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.
cve:CVE-2026-116271
Complete source record
{
"id": "93a8d19c334e4fac724f5e5ee95e5f9a4ffac1fa7245948782cb38a21c59070a",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-116271",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "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",
"summary": "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--- 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.",
"evidence": "cve:CVE-2026-116271",
"products": [],
"severity": "unknown",
"structured": {
"id": "CVE-2026-116271",
"aliases": [
"CVE-2026-116271"
],
"metrics": [],
"affected": [
{
"repo": "https://salsa.debian.org/dskoll/mime-tools",
"modules": [
"MIME::Parser::FileUnder"
],
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "5.521",
"versionType": "custom"
}
],
"packageURL": "pkg:cpan/MIME-tools",
"packageName": "MIME-tools",
"programFiles": [
"lib/MIME/Parser/Filer.pm",
"lib/MIME/Body.pm"
],
"collectionURL": "https://cpan.org/modules",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "MIME::Parser::FileUnder::init_parse"
},
{
"name": "MIME::Parser::Filer::find_unused_path"
}
]
}
],
"modified": "2026-10-28T17:34:06.757Z",
"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:34:06.757Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-116271",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-cve",
"document_id": 466447,
"published_at": "2026-10-28T17:34:06.757+00:00"
}