ASA-2019-00529 – OpenPGP.js: Informação contida em subpacotes unhashed tida como confiável

Os subpacotes de assinatura OpenPGP contêm informações relacionadas a assinatura (por exemplo, timestamp de criação). Esses subpacotes podem aparecer em um contêiner de subpacotes "hash" e "unhashed". Enquanto as informações nos subpacotes hash são assinadas, os subpacotes unhashed não são protegidos criptograficamente. O OpenPGP.js, no entanto, não faz distinção entre esses subpacotes. Ao analisar um pacote de assinatura, as informações assinadas são analisadas primeiro. Quando os pacotes unhashed são lidos, as informações dos pacotes hashed são substituídas. Um atacante pode modificar arbitrariamente o conteúdo de uma chave de certificação de assinatura ou assinatura de revogação. Como resultado, o atacante pode, por exemplo. convencer a vítima a usar uma chave obsoleta para criptografia.