[New-bugs-announce] [issue25728] email parser ignores inner multipart boundary when outer message duplicates it

Forest report at bugs.python.org
Tue Nov 24 19:04:36 EST 2015


New submission from Forest:

When a multipart message erroneously defines a boundary string that conflicts with an inner message's boundary string, the parser ignores the (correct) inner message's boundary, and treats all matching boundary lines as if they belong to the (defective) outer message.

This file from the test_email suite demonstrates the problem:
Python-3.5.0/Lib/test/test_email/data/msg_15.txt

Consequentially, the inner multipart/alternative message is parsed with is_multipart() returning False, and a truncated payload.

Moreover, unit tests like test_same_boundary_inner_outer() expect to find the StartBoundaryNotFoundDefect defect on the inner message in that file, which seems wrong to me, since the inner message is not defective.  According to the RFCs, the outer message should have been generated with a boundary string that does not appear anywhere in its encoded body (including the inner message).  The outer message is therefore the defective one.

----------
components: email
messages: 255309
nosy: barry, forest, r.david.murray
priority: normal
severity: normal
status: open
title: email parser ignores inner multipart boundary when outer message duplicates it
type: behavior
versions: Python 2.7, Python 3.4

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue25728>
_______________________________________


More information about the New-bugs-announce mailing list