Summary: | CVE-2019-10734: Decryption Oracle based on replying to PGP or S/MIME encrypted emails | ||
---|---|---|---|
Product: | [Unmaintained] trojita | Reporter: | Jens Mueller <jens.a.mueller+kde> |
Component: | Cryptography | Assignee: | Trojita default assignee <trojita-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | fabian, kevin.kofler, projects.rg |
Priority: | NOR | ||
Version: | 0.7 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/pim/trojita/commit/8db7f450d52539b4c72ee968384911b6813ad1e7 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: |
Proof-of-concept PGP
Proof-of-concept S/MIME |
Description
Jens Mueller
2019-02-22 12:44:06 UTC
Created attachment 118286 [details]
Proof-of-concept PGP
Please find attached a raw .eml file which depicts the issue for PGP.
Created attachment 118287 [details]
Proof-of-concept S/MIME
Please find attached a raw .eml file which depicts the issue for S/MIME.
Hi Jens, thanks for sharing results of your research. This is a nice attack indeed. Is this reprocible with a snapshot taken from git sources? Is this reproducible with a snapshot taken from git sources? (In reply to Raphael Groner from comment #5) > Is this reproducible with a snapshot taken from git sources? Yes, it is still valid. We do not have any countermeasure for this at this time. Patches welcome. Update: Here's a full (public) report on the issue: https://arxiv.org/ftp/arxiv/papers/1904/1904.07550.pdf For Trojitá, CVE-2019-10734 was assigned for reply-based `decryption oracles`. Is this being actively worked on?
> Countermeasures
> ---------------
> Do not decrypt emails unless the PGP or S/MIME encrypted part is the root node
> -- and therefore the only part -- in the MIME tree (exception: multipart/signed
> for encrypted-then-signed S/MIME messages). Another, potentially less secure,
> option would be to quote only the very first MIME part in replies.
Ping? I just got reminded of this CVE by the Fedora EOL bot (due to the impending Fedora 29 end of life). Patch for review is available at https://gerrit.vesnicky.cesnet.cz/r/1038 Git commit 8db7f450d52539b4c72ee968384911b6813ad1e7 by Jan Kundrát. Committed on 26/06/2020 at 10:29. Pushed by jkt into branch 'master'. Prevent a possible decryption oracle attack Thanks to Jens Mueller (Ruhr-Uni Bochum and FH Münster) for reporting this. The gist is that an attacker can embed arbitrary ciphertext into their messages. Trojita decrypts that, and when we hit reply, the original *cleartext* gets quoted and put into a reply for the attacker to see. Fix this by not quoting any plaintext which originated in an encrypted message. That's pretty draconian, but hey, it works and we never came up with any better patch. Also, given that Trojita does not encrypt outgoing messages yet, this is probably also a conservative thing to do. Change-Id: I84c45b9e707eb7c99eb7183c6ef59ef41cd62c43 CVE: CVE-2019-10734 M +2 -0 src/Cryptography/GpgMe++.cpp M +8 -1 src/Gui/MessageView.cpp M +8 -0 src/Gui/PartWidget.cpp M +1 -1 src/Imap/Model/ItemRoles.h https://invent.kde.org/pim/trojita/commit/8db7f450d52539b4c72ee968384911b6813ad1e7 |