Après la faille « double Goto » d’Apple qui fragilisait l’un de ses principaux mécanismes de chiffrement, c’est au tour de Linux de se découvrir un défaut très proche affectant un outil semblable. La faille existe depuis au moins 2003.
Immatriculé CVE-2014-0092, ce trou GnuTLS porte également sur une erreur de programmation dans la partie chargée de la vérification du certificat. Comme il s’agit là d’un bug touchant une bibliothèque de fonction, toute personne utilisant GnuTLS sur la quasi-totalité des noyaux Linux (et pas mal de ses dérivés) est donc susceptible d’être victime d’une attaque via un certificat forgé dont l’authenticité est invérifiable. Une fois encore, le problème a été causé par une succession d’intructions Goto dont l’invocation avorte la procédure de vérification du certificat X509 émis par le correspondant d’une transaction sécurisée.
Une explication très clairement vulgarisée est donnée par Sean Cassidy sur le blog Existentialize, la version corrigée se trouvant sur Gitorious. Il est cependant conseillé d’effectuer une mise à niveau avec les versions 3.2.12 ou 3.1.22 de GnuTLS.
Si le trou Apple affectait un parc important de téléphones, appareils mobiles et stations de travail dépendant d’une marque bien précise, la faille GnuTLS concerne un « marché » bien plus vaste, comptant plusieurs centaines de noyaux différents. La mise à niveau risque donc de prendre un temps certain, et la fenêtre de vulnérabilité pourrait perdurer durant plusieurs mois comme certains défauts Bind qui ont eu la vie très dure.