Re: [Security Patch] mitigate “Re: What's Up Johnny?” vulnerabilities

Peter Bloomfield <[email protected]> Wed, 22 May 2019 11:30:41 -0400
Newsgroups gmane.comp.gnome.apps.balsa
Message-ID <[email protected]>
Hi Albrecht:

On 05/18/2019 04:02:32 PM Sat, Albrecht Dreß wrote:
> Hi all,
> 
> attached is a patch to mitigate the effects of the “Re: What's Up Johnny?” attacks on email end-to-end encryption as described in the draft paper [1].
> 
> Like the EFail [2] and “Johnny, you are fired!” [3] attacks, carefully crafted messages creatively using legitimate MIME and HTML features can be used to deceive the user regarding the actual message content: the attacker includes intercepted encrypted message parts which were originally sent to a different recipient (and which the attacker cannot decrypt).  Iff such message parts are decrypted in background, and the user replies to the attacker, the decrypted plaintext /may/ be included in the reply.
> 
> Balsa will include “silently” decrypted message parts in a reply in the following cases:
> - multipart/mixed, first part is a text/html, and any other part contains an encrypted RFC 4880 block;
> - multipart/report, first part is a text/*, and a message/rfc822 with encrypted contents is attached;
> - multipart/mixed, first part is a text/html with CID references to an other part, containing an encrypted RFC 4880 block.
> 
> Note that Balsa is *not* vulnerable by other HTML attacks described in the paper, as we do not automatically load or post data from/to external sources.
> 
> With this patch, Balsa tries to draw the user's attention to the following cases when replying to an at least partially encrypted message:
> 
> (1) The user replies to an encrypted message with a single text part.
> In this case, a dialogue is shown reminding the user that the cited text in the reply has been decrypted, and that due care should be taken not to leak sensitive information and/or to encrypt the reply.  As this warning might be annoying, the user may switch it off.
> 
> (2) The user replies to a fully encrypted message with multiple text parts.
> The usual dialogue for selecting parts for citation is shown.  All decrypted (i.e. all in this case) parts are marked, and the message as of #1 is added to the dialogue label.
> 
> (3) The user replies to a message containing both encrypted and unencrypted text parts.
> The selection dialogue as in #2 is shown.  It includes a warning that the original message /might/ be an attack.  All decrypted parts are deselected, i.e. the user must explicitly select them for inclusion in the reply.
> 
> Additionally, in the dialogue as of #2 and #3, I replaced the MIME type in the description by the human-readable translation reported by libbalsa_vfs_content_description().
> 
> Unfortunately, a set of proof-of-concept test messages is not yet publicly available, but at least some basic test messages can be produced easily, e.g by forwarding a encrypted message to yourself as attachment, etc.
> 
> As always, any comment is welcome!
> 
> Cheers,
> Albrecht.

Thanks for the patch--looks good to me!

We may get some pushback from translators over markup in translated strings, but these strings look to me like the "tricky cases" in <URL:https://wiki.gnome.org/Initiatives/GnomeGoals/RemoveMarkupInMessages>, so they should be OK.

Best,

Peter (back from travels with only a phone!)

_______________________________________________
balsa-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/balsa-list
signature.asc (application/pgp-signature, 195 B)
-----BEGIN PGP SIGNATURE-----

iF0EABECAB0WIQS030wPRfNNA5alz3MfX9S1uSp09QUCXOVrIQAKCRAfX9S1uSp0
9bRQAJ9srP7xgJ9j2W+RC8ksrw3bFD6+KwCdF5sZRvOOJGmGYtYPDuYMZQW3Uz8=
=gjhs
-----END PGP SIGNATURE-----