Jádro problému nakonec není ani v HTML, ale ve spouštění kódu a akceptování přílepků, které nejsou šifrované, nejsou kontrolovány digitálním otiskem a už vůbec nelze zaručit, že je skutečně poslal odesilatel. Je to diletantství vývojářů klientů PGP, protože upřednostnili fíčury a pohodlí před bezpečností. Přitom samotná specifikace pgp obsahuje jak možnost ověření samotné zprávy, tak a identity odesilatele. Bohužel tato specifikace zmiňuje pouze tvorbu samotné zprávy a ostatní blbiny okolo už nechává na implementaci vývojářů. Čistě PGP prolomeno nebylo, to jen někteří autoři PGP klientů mysleli, že automaticky spouštět neověřený a neověřitelný obsah ležící vedle zabezpečené zprávy je dobrý nápad.
Správný PGP klient odesilatele by měl zašifrovat (i s otiskem zprávy) a odeslat VŠE, co má software příjemce použít. PGP klient na straně příjemce by měl zase zahodit všechno, co není šifrované a ověřené otiskem zprávy. Jakýkoli jiný stav není bezpečný.
Jádro problému je v tom, že se volá dešifrovací funkce při zpracovávání nešifrovanýho mailu, nebo je dovoleno použít na část mailu jiný klíč.
Kdyby se nastavil při otevření mailu ENCRYPTED = FALSE a nedovolilo to vůbec decrypt čehokoliv nad tímhle mailem, vrátí se jako URL ten binární blob, který už útočník má a nezjistí nic novýho.
Pokud by to útočník poslal šifrovaně, ENCRYPTED = TRUE a KEY= ATTACKER_KEY. Na vloženou část se pak prostě aplikuje útočníkův klíč, kterým se to nepodaří dešifrovat.
A normální funkci jako odpovědět/přeposlat to neovlivní, protože se to stejně musí přebalit, aby si to příjemce přečetl. Navíc je to na pár řádků.
nepochopil si podstatu problému, čítaj toto vlákno
https://www.root.cz/clanky/chyba-efail-umoznuje-cist-zpravy-zasifrovane-pomoci-pgp-a-s-mime/nazory/vlakno/4/
>> Správný PGP klient odesilatele by měl zašifrovat (i s otiskem zprávy) a odeslat VŠE, co má software příjemce použít. PGP klient na straně příjemce by měl zase zahodit všechno, co není šifrované a ověřené otiskem zprávy. Jakýkoli jiný stav není bezpečný. <<
Ak chápeme PGP klienta ako poštového klienta s PGP knižnicou ako celok, tak áno. PGP ale ako modul alebo knižnica predsa dostane len nejaký vstup, ktorý dešifruje, nie? To že do PGP emailový klient pošle to, čo nemá je problém toho poštového klienta. Ako by podľa teba mala vyzerať knižnica, ktorá by toto riešila? PGP knižnica by mala pracovať priamo s emailovými správami?