---
id: "CVE-2026-116265"
kind: "vulnerability"
aliases: ["CVE-2026-116265"]
title: "Perl MIME::Field::ParamVal: ambiguous RFC 2231 multipart boundaries go unflagged"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["mail-filtering", "mime-parser", "package", "perl"]
not_affected_if: ["no-untrusted-mail-parsing"]
published_at: "2026-10-28T18:17:12+00:00"
first_seen_at: "2026-10-28T18:34:33+00:00"
updated_at: "2026-10-28T18:35:32+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116265", "first_seen_at": "2026-10-28T18:34:33+00:00"}]
---

# Perl MIME::Field::ParamVal: ambiguous RFC 2231 multipart boundaries go unflagged

MIME::Field::ParamVal before 5.521 does not flag multipart boundaries split into RFC 2231 continuation sections, so the ambiguity checks miss them. A remote sender can make MIME::Parser split a message on a different boundary than other mail readers, hiding an attachment from filters that rely on ambiguous_content().

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed MIME::Field::ParamVal version with `perl -MMIME::Field::ParamVal -e 'print $MIME::Field::ParamVal::VERSION'` (the sources do not name the exact module path)
- Look for code that calls `ambiguous_content()` from MIME::Parser to filter inbound mail

## Fix

- Upgrade MIME::Field::ParamVal to `5.521` or later (the sources name this as the first fixed version)
- Note: versions from `5.518` also have an unflagged encoded-word or trailing-whitespace variant; the sources do not give a separate fixed version for that case

## Timeline

- 2026-10-28T18:34:33+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116265

## From the sources

MIME::Field::ParamVal versions before 5.521 for Perl do not flag an ambiguous multipart boundary written as RFC 2231 continuations.

The boundary ambiguity checks look only at a plain boundary= parameter, and a boundary split into RFC 2231 sections (boundary*0=, boundary*1= and so on) is joined after they have run. A repeated section number is concatenated rather than reported as a duplicate. From version 5.518, an encoded word or trailing whitespace in such a boundary also goes unflagged, although multipart_boundary() decodes or strips it.

A remote sender can make MIME::Parser split a message on a different boundary than other mail readers, hiding an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
