Des centaines de paquets logiciels sont concernés ainsi que les distributions Linux de Red Hat, Ubuntu et Debian pour lesquelles des correctifs sont proposés via une mise à jour de GnuTLS. Cette bibliothèque logicielle est une implémentation libre de SSL et TLS, les protocoles de sécurisation des échanges sur Internet.
La faille dans GnuTLS a été découverte lors d'un audit par Nikos Mavrogiannopoulos de l'équipe Red Hat Security Technologies. Plutôt inquiétant, elle n'est a priori pas de première jeunesse (elle serait présente depuis au moins neuf ans). De quoi porter un petit coup de canif au fait que l'ouverture du code est la solution ultime pour le rendre plus sûr.
D'après l'alerte de sécurité de Red Hat, GnuTLS ne traitait pas correctement certaines erreurs pouvant intervenir lors de la vérification d'un certificat X.509 (norme de chiffrement utilisée avec SSL / TLS). Autrement dit, un bug dans la vérification de l'authenticité de certificats TLS.
Le risque est qu'un attaquant pouvait exploiter la vulnérabilité pour une attaque de type man-in-the-middle et lors d'une connexion TLS, faire passer un certificat contrefait pour authentique en étant accepté par GnuTLS. De quoi permettre à un site potentiellement malveillant d'apparaître comme valide.
Comme pour le récent cas d'Apple avec sa gaffe dans sa propre implémentation des protocoles SSL et TLS, la vulnérabilité dans GnuTLS est la conséquence de maladresses dans le code. Cette fois-ci, ce n'est pas un doublon de la commande " Goto fail " mais des erreurs avec plusieurs appels " Goto cleanup ".
C'est en fait plus un problème dans l'utilisation de la commande Goto proposée dans les langages de programmation pour des sauts inconditionnels. Son utilisation excessive est souvent assimilée à de la programmation spaghetti.
Le projet GnuTLS a confirmé la vulnérabilité et aiguille vers une mise à jour pour la dernière version 3.2.12 ou 3.1.22 de GnuTLS, voire un patch pour GnuTLS 2.12.x.