Menu

#987 Data loss: Enigmail "repair" of MS Exchange mangling destroys content

fixed
nobody
None
2.0.11
Minor
All
2.1
nobody
2019-06-09
2019-05-22
No

I have a PGP/MIME encrypted message that was injected into the e-mail ecosystem by some variant of MS Exchange and/or proofpoint hosted mail filters; but definitely not iPGMail.

It has the same structural differences as the "MS Exchange" e-mails, but the message parts have filenames like ATT00001 and ATT00002.bin.

Since nothing is named in a way that matches "PGP\/?MIME Versions? Identification", the detection code in messageDecryptCb in ui/content/enigmailMessengerOverlay.js assumes it was iPGMail. If i ask Enigmail to do the transformation on it, then the code in package/fixExchangeMsg.jsm acts on it by killing the last message part, where the encrypted message body itself was, resulting in total data loss for the message.

I can try to have the person who sent this mail send you encrypted mail for your own testing, if that would be useful.

I also have a copy of the original message, and the transformed message, if you want to see them.

Discussion

  • Patrick Brunschwig

    Can you attach the original message or send it to me in private?

     
  • Daniel Kahn Gillmor

    Attached is the source of the RFC5322 message as I received it.

    I note that it passes DKIM verification over the body of the message using the following selectors:

    d=caltech.onmicrosoft.com; s=selector1-caltech-onmicrosoft-com;
    bh=pvh+22xNt5x1DZo3Ytpyz9FhvIGmM0xZO/+9OIACjwc=;
    

    So that suggests that the mangling happened before the DKIM signer got ahold of it.

     

    Last edit: Daniel Kahn Gillmor 2019-05-22
  • Daniel Kahn Gillmor

    • summary: message mangled by MS Exchange, but applying Enigmail "repair" destroys content --> Data loss: Enigmail "repair" of MS Exchange mangling destroys content
     
  • Patrick Brunschwig

    First step implemented: I added a check that ensures that the message is really a PGP/MIME mesasge with OpenPGP armor in the message body

     
  • Patrick Brunschwig

    I added a 2nd check (or actually a 1st) that tests the original message structure. If it is not the structure expected for iPGMail, it will fall back to the "exchange" mode.

     
  • Patrick Brunschwig

    • status: open --> fixed
    • Fixed in version: --- --> 2.1
     

Log in to post a comment.