
Strumento per verificare se un client PGP è affetto da CVE-2021-33560
Questo è uno strumento per verificare se il tuo client OpenPGP è affetto da CVE-2021-33560.
Questa vulnerabilità espone al recupero del testo in chiaro i messaggi che cifri verso alcune sottochiavi ElGamal. I dettagli tecnici della vulnerabilità sono descritti in questo articolo del blog e in questo articolo di ricerca.
Questo strumento verifica se il tuo client OpenPGP è affetto quando agisce come mittente. Non indica se le tue sottochiavi ElGamal sono affette quando agisci come destinatario: purtroppo si tratta di un controllo computazionalmente oneroso che può essere eseguito solo da un esperto. Se usi sottochiavi ElGamal e sei preoccupato per la loro sicurezza, leggi le nostre FAQ.
Ti serve Python versione 3.8 o superiore.
Questo strumento funziona cifrando un messaggio verso una sottochiave ElGamal appositamente creata, quindi analizzando il ciphertext prodotto per cercare la vulnerabilità.
Il modo in cui importi la chiave pubblica e cifri verso di essa dipende dal tuo client OpenPGP. Nell'esempio seguente usiamo GPG (la cui libgcrypt è affetta fino alle versioni 1.8.8 e 1.9.3), ma dovrai adattare i passaggi al tuo client.
Clona questo repository ed entraci
git clone https://github.com/IBM/PGP-client-checker-CVE-2021-33560.git
cd PGP-client-checker-CVE-2021-33560
Importa la chiave pubblica (questo passaggio dipende dal tuo client)
gpg --import key.asc
Cifra un messaggio (ad es., "Hi") verso la chiave importata (questo passaggio dipende dal tuo client)
echo "Hi" | gpg -e --always-trust --armor -r [email protected] --output ciphertext.asc
Esegui lo strumento sul ciphertext ottenuto
./sec-check.py ciphertext.asc
e controlla l'output. Se il tuo client è affetto, potresti vedere un messaggio simile a questo:
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!
Per saperne di più sulla vulnerabilità, leggi il nostro articolo tecnico sul blog.