Project

General

Profile

Actions

Bug #5341

closed

Bug #5315: decode/mime: base64 decoding for data with spaces is broken

decode/mime: base64 decoding for data with spaces is broken (5.0.x backport)

Added by Jeff Lucovsky over 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Affected Versions:
Effort:
Difficulty:
Label:

Description

Summary
As per RFC 2045 (MIME),
"SP"s are allowed in base64 encoded transfers and should be discarded.

Explanation
Quote (https://www.ietf.org/rfc/rfc2045.txt):

   All line breaks or other characters not
   found in Table 1 must be ignored by decoding software.  In base64
   data, characters other than those in Table 1, line breaks, and other
   white space probably indicate a transmission error, about which a
   warning message or even a message rejection might be appropriate
   under some circumstances.

where
                    Table 1: The Base64 Alphabet

     Value Encoding  Value Encoding  Value Encoding  Value Encoding
         0 A            17 R            34 i            51 z
         1 B            18 S            35 j            52 0
         2 C            19 T            36 k            53 1
         3 D            20 U            37 l            54 2
         4 E            21 V            38 m            55 3
         5 F            22 W            39 n            56 4
         6 G            23 X            40 o            57 5
         7 H            24 Y            41 p            58 6
         8 I            25 Z            42 q            59 7
         9 J            26 a            43 r            60 8
        10 K            27 b            44 s            61 9
        11 L            28 c            45 t            62 +
        12 M            29 d            46 u            63 /
        13 N            30 e            47 v
        14 O            31 f            48 w         (pad) =
        15 P            32 g            49 x
        16 Q            33 h            50 y

Issue
As a result of not discarding the spaces, the decoding would fail whenever the parser would encounter base64 encoded data with spaces.

Issue Discovery
This was found during SMTP file extraction when the extracted files were broken and the new approach of PreProcessing data commands to avoid buffering generated different decoded data.
This seems to have been broken since the parser was written.

Issue found by
Victor Julien <>

Actions #1

Updated by Jeff Lucovsky over 2 years ago

  • Copied from Bug #5315: decode/mime: base64 decoding for data with spaces is broken added
Actions #2

Updated by Jeff Lucovsky over 2 years ago

  • Subject changed from decode/mime: base64 decoding for data with spaces is broken to Backport 5.0.x: decode/mime: base64 decoding for data with spaces is broken
  • Parent task set to #5315
Actions #3

Updated by Jeff Lucovsky over 2 years ago

  • Subject changed from Backport 5.0.x: decode/mime: base64 decoding for data with spaces is broken to decode/mime: base64 decoding for data with spaces is broken (5.0.x backport)
Actions #4

Updated by Jeff Lucovsky over 2 years ago

  • Status changed from Assigned to In Progress
Actions #5

Updated by Jeff Lucovsky over 2 years ago

  • Status changed from In Progress to In Review
Actions #6

Updated by Victor Julien over 2 years ago

  • Status changed from In Review to Closed
Actions #7

Updated by Victor Julien about 2 years ago

  • Private changed from Yes to No
Actions

Also available in: Atom PDF