
Outil pour vérifier si un client PGP est affecté par CVE-2021-33560
Cet outil vérifie si votre client OpenPGP est concerné par CVE-2021-33560.
Cette vulnérabilité expose à la récupération du texte clair les messages que vous chiffrez vers certaines sous-clés ElGamal. Les détails techniques de la vulnérabilité sont décrits dans cet article de blog et cet article de recherche.
Cet outil teste si votre client OpenPGP est concerné lorsqu'il agit en tant qu'expéditeur. Il n'indique pas si vos sous-clés ElGamal sont concernées lorsqu'elles agissent en tant que destinataire; il s'agit malheureusement d'une vérification coûteuse en calcul qui ne peut être effectuée que par un expert. Si vous utilisez des sous-clés ElGamal et que vous êtes préoccupé par leur sécurité, lisez notre FAQ.
Vous devez disposer de Python version 3.8 ou supérieure.
Cet outil fonctionne en chiffrant un message vers une sous-clé ElGamal spécialement conçue, puis en analysant le texte chiffré produit pour détecter la vulnérabilité.
La façon d'importer la clé publique et de chiffrer vers celle-ci dépend de votre client OpenPGP. Dans l'exemple ci-dessous, nous utilisons GPG (dont libgcrypt est concerné jusqu'aux versions 1.8.8 et 1.9.3), mais vous devrez adapter les étapes à votre propre client.
Clonez ce dépôt et placez-vous dans celui-ci
git clone https://github.com/IBM/PGP-client-checker-CVE-2021-33560.git
cd PGP-client-checker-CVE-2021-33560
Importez la clé publique (cette étape dépend de votre client)
gpg --import key.asc
Chiffrez un message (par exemple, « Hi ») vers la clé importée (cette étape dépend de votre client)
echo "Hi" | gpg -e --always-trust --armor -r [email protected] --output ciphertext.asc
Exécutez l'outil sur le texte chiffré obtenu
./sec-check.py ciphertext.asc
et inspectez la sortie. Si votre client est concerné, vous pourriez obtenir un message similaire à celui-ci :
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!
Pour en savoir plus sur la vulnérabilité, lisez notre article de blog technique.