
Ferramenta para verificar se um cliente PGP é afetado pelo CVE-2021-33560
Esta é uma ferramenta para verificar se o seu cliente OpenPGP é afetado pela CVE-2021-33560.
Esta vulnerabilidade expõe à recuperação de texto claro as mensagens que você criptografa para algumas subchaves ElGamal. Os detalhes técnicos da vulnerabilidade são descritos neste post de blog e neste artigo de pesquisa.
Esta ferramenta testa se o seu cliente OpenPGP é afetado quando atua como remetente. Ela não informa se as suas subchaves ElGamal são afetadas quando você atua como destinatário, pois esta é, infelizmente, uma verificação computacionalmente pesada que só pode ser realizada por um especialista. Se você usa subchaves ElGamal e está preocupado com a segurança delas, leia nosso FAQ.
Você precisa da versão 3.8 ou superior do Python.
Esta ferramenta funciona criptografando uma mensagem para uma subchave ElGamal especialmente criada e, em seguida, analisando o texto cifrado produzido para procurar a vulnerabilidade.
A forma como você importa a chave pública e criptografa para ela depende do seu cliente OpenPGP. No exemplo abaixo, usamos o GPG (cuja libgcrypt é afetada até as versões 1.8.8 e 1.9.3), mas você terá que adaptar as etapas para o seu próprio cliente.
Clone este repositório e entre nele
git clone https://github.com/IBM/PGP-client-checker-CVE-2021-33560.git
cd PGP-client-checker-CVE-2021-33560
Importe a chave pública (esta etapa depende do seu cliente)
gpg --import key.asc
Criptografe uma mensagem (por exemplo, "Hi") para a chave importada (esta etapa depende do seu cliente)
echo "Hi" | gpg -e --always-trust --armor -r [email protected] --output ciphertext.asc
Execute a ferramenta no texto cifrado obtido
./sec-check.py ciphertext.asc
e inspecione a saída. Se o seu cliente for afetado, você pode ver uma mensagem semelhante a esta:
Inspecting ./ciphertext.asc
Ephemeral secret bit length: 342
**Your client is affected by CVE-2021-33560!**
Your client seems to be based on an old version of libgcrypt. If a
security patch for your client is available, install it!
Para saber mais sobre a vulnerabilidade, leia nosso post técnico de blog.