{"id":"CVE-2026-116266","kind":"vulnerability","aliases":["CVE-2026-116266"],"related":[],"title":"Perl MIME::Head: partly encoded boundary hides attachments from mail filters","description":"MIME::Head versions from 5.518 before 5.521 for Perl decode a partly encoded multipart boundary without flagging the parse as ambiguous.\n\nThe multipart_boundary() method decodes RFC 2047 encoded words anywhere in the boundary, but the ambiguity check only fires when the whole value is one encoded word. A boundary such as abc=?us-ascii?Q?def?= is used as abcdef, and ambiguous_content() returns false.\n\nEncoded words are not allowed in parameters, so other mail readers split the message on the literal value. A remote sender can hide an attachment from a filter that relies on ambiguous_content() while the recipient's mail client shows it.","summary":"MIME::Head for Perl decodes RFC 2047 encoded words inside a multipart boundary but skips the ambiguity check unless the whole boundary is one encoded word. A crafted email can therefore slip an attachment past a filter that relies on ambiguous_content() while the recipient's mail client still displays it.","severity":"medium","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["email-security","mail-filtering","package","perl"],"not_affected_if":["no-mime-head-usage"],"how_to_check":"- Check the installed MIME::Head version with `perl -MMIME::Head -e 'print $MIME::Head::VERSION'`\n- Find where the code calls `multipart_boundary()` and `ambiguous_content()` to see whether mail filtering depends on them","fix":"- Upgrade MIME::Head to `5.521` or later","status":"open","published_at":"2026-10-28T18:17:13+00:00","first_seen_at":"2026-10-28T18:34:33+00:00","triaged_at":"2026-10-28T18:35:30+00:00","updated_at":"2026-10-28T18:35:30+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-28T18:35:30Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade MIME::Head to `5.521` or later","reach":"internet","title":"Perl MIME::Head: partly encoded boundary hides attachments from mail filters","impact":"medium","summary":"MIME::Head for Perl decodes RFC 2047 encoded words inside a multipart boundary but skips the ambiguity check unless the whole boundary is one encoded word. A crafted email can therefore slip an attachment past a filter that relies on ambiguous_content() while the recipient's mail client still displays it.","category":"package","nicknames":[],"who_cares":["perl","mail-filtering","email-security"],"confidence":0.6,"needs_auth":"no","worst_case":"Malicious attachment bypasses a mail filter that relies on the parser","analyst_note":"","how_to_check":"- Check the installed MIME::Head version with `perl -MMIME::Head -e 'print $MIME::Head::VERSION'`\n- Find where the code calls `multipart_boundary()` and `ambiguous_content()` to see whether mail filtering depends on them","needs_analyst":false,"not_affected_if":["no-mime-head-usage"],"who_is_affected":"Teams that use MIME::Head to inspect or filter incoming multipart email, where a security decision depends on ambiguous_content(). Mail-handling code that does not use this module or that uses versions outside 5.518 to 5.521 is not affected.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000606,"input_tokens":3441,"output_tokens":524,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-116266':14A,17A '-2026':13A,16A '2047':32B,103C '5.518':80C '5.521':82C 'abc':128C 'abcdef':137C 'allow':147C 'ambigu':42B,66B,96C,112C,139C,174C 'anywher':106C 'ascii':131C 'attach':8A,59B,167C 'boundari':6A,38B,47B,90C,99C,109C,125C 'check':43B,113C 'client':73B,181C 'content':67B,140C,175C 'craft':53B 'cve':12A,15A 'decod':30B,85C,101C 'def':133C 'display':75B 'email':19B,54B 'email-secur':18B 'encod':5A,33B,50B,88C,104C,122C,143C 'fals':142C 'filter':11A,23B,62B,170C 'fire':115C 'flag':92C 'head':3A,27B,77C 'hide':7A,165C 'insid':35B 'liter':159C 'mail':10A,22B,72B,152C,180C 'mail-filt':21B 'messag':156C 'method':100C 'mime':2A,26B,76C 'multipart':37B,89C,98C 'one':49B,121C 'packag':24B 'paramet':149C 'pars':94C 'part':4A,87C 'past':60B 'perl':1A,25B,29B,84C 'q':132C 'reader':153C 'recipi':70B,178C 'reli':64B,172C 'remot':162C 'return':141C 'rfc':31B,102C 'secur':20B 'sender':163C 'show':182C 'skip':40B 'slip':57B 'split':154C 'still':74B 'therefor':56B 'unless':44B 'us':130C 'us-ascii':129C 'use':135C 'valu':119C,160C 'version':78C 'whole':46B,118C 'without':91C 'word':34B,51B,105C,123C,144C","nicknames":[],"mitigations":[],"who_affected":"Teams that use MIME::Head to inspect or filter incoming multipart email, where a security decision depends on ambiguous_content(). Mail-handling code that does not use this module or that uses versions outside 5.518 to 5.521 is not affected.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T18:17:13+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116266","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116266","severity":null,"published_at":"2026-10-28T18:17:13+00:00","modified_at":"2026-10-28T18:17:13+00:00","first_seen_at":"2026-10-28T18:34:33+00:00","fetched_at":"2026-10-28T18:34:33+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}