www.belgium.be Logo of the federal government

Vulnérabilité dans le Protocole OpenPGP

Référence: 
Advisory #2018-020
Version: 
1.0
Logiciels concernés : 
GnuPG, Enigmail, GPGTools et Python-gnupg. Toutes les versions de GnuPG sur toutes les plateformes, tous les clients email et autres applications qui utilisent GPG mais pas la librairie GPGME Type: Usurpation de la signature de chiffrement (Spoofing encry
CVE/CVSS: 

CVE: CVE-2018-12020
CVSS: Inconnu à ce jour mais jugé critique

Sources

https://neopg.io/blog/gpg-signature-spoof/#proof-of-concept-ii-signature...
https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000425.html

Risques

L’exploitation de cette vulnérabilité par un acteur malveillant permettrait de tromper la vérification de la signature et donc de fournir un faux message de validité de cette signature.

Description

Le protocole OpenPGP permet d'inclure le nom de fichier du fichier d'entrée original dans un message signé ou crypté. Pendant le déchiffrement et la vérification, l'outil GPG peut afficher une notification incluant ce nom de fichier.

Comme ce nom de fichier affiché n'est pas contrôlé, il peut donc inclure des sauts de ligne ou d'autres caractères de contrôle. Cela peut être utilisé pour notamment injecter des commandes.

Ces commandes sont analysées par les programmes pour obtenir des informations de GPG sur la validité d'une signature. En utilisant un nom de fichier fictif dans le message, il est donc possible de falsifier les commandes. Grâce à cette technique, il est possible de tromper la vérification d'un courrier signé.

Cette vulnérabilité ne se limite pas à la sécurité du courrier électronique, puisque GnuPG est également utilisé pour sécuriser les sauvegardes, les mises à jour logicielles dans les distributions et le code source dans les systèmes de contrôle de version comme GIT.

Actions recommandées

CERT.be recommande aux utilisateurs de toujours garder leurs systèmes à jour. Des mises à jours corrigeant ce problème ont déjà été publiées par GnuPG, Enigmail, GPGTools, Debian, Ubuntu, Fedora et SUSE. Nous nous attendons à ce que d’autres mise à jours soient publiées dans les jours à venir.

En plus des mises à jour, vous pouvez également vérifier l'absence du paramètre « verbose » dans le fichier gpg.conf. Veuillez également ne pas utiliser la commande « gpg –-verbose ».

Si vous êtes un développeur, ajoutez –-no-verbose à tous les appels de GPG et passez à la version de Python-gnupg 0.4.3.

Références

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12020