• Abhilash Raj's avatar
    bpo-30835: email: Fix AttributeError when parsing invalid CTE (GH-13598) · aa797072
    Abhilash Raj authored
    * bpo-30835: email: Fix AttributeError when parsing invalid Content-Transfer-Encoding
    
    Parsing an email containing a multipart Content-Type, along with a
    Content-Transfer-Encoding containing an invalid (non-ASCII-decodable) byte
    will fail. email.feedparser.FeedParser._parsegen() gets the header and
    attempts to convert it to lowercase before comparing it with the accepted
    encodings, but as the header contains an invalid byte, it's returned as a
    Header object rather than a str.
    
    Cast the Content-Transfer-Encoding header to a str to avoid this.
    
    Found using the AFL fuzzer.
    Reported-by: default avatarDaniel Axtens <dja@axtens.net>
    Signed-off-by: default avatarAndrew Donnellan <andrew@donnellan.id.au>
    
    * Add email and NEWS entry for the bugfix.
    aa797072
test_email.py 204 KB