La semaine dernière, nous nous faisions l’écho d’un important correctif de sécurité déployé par Apple sur ses appareils. La faille colmatée touchait la vérification des connexions TLS/SSL et il était plus que recommandé aux utilisateurs de procéder rapidement à la mise à jour. On sait désormais que de nombreux produits basés sur un composant open source sont touchés par une faille similaire, dont plusieurs distributions Linux.
La distribution Ubuntu est vulnérable
Une faille très similaire dans iOS, OS X et la bibliothèque GnuTLS
La faille TLS/SSL qui affectait aussi bien iOS qu’OS X est désormais colmatée, mais elle n’en reste pas moins critique. Ce sont respectivement les mises à jour 7.0.6 et 10.9.2 qui se sont occupées du problème. Ce dernier provenait d’une importante lacune dans la vérification des connexions sécurisées qui pouvait permettre à de faux certificats d’être considérés comme authentiques. Des pirates pouvaient donc très bien faire passer un site malveillant comme parfaitement légitime.
Alors qu'elle avait largement fait parler d’elle, le monde de l’open source vit une autre onde de choc : une faille similaire a été détectée dans le composant GnuTLS, utilisé par de très nombreux produits, dont des distributions Linux. Comme son nom l’indique, cette bibliothèque gère les connexions sécurisées, et une erreur dans son code permet le même type d’attaques que dans le cas d’iOS et OS X.
Des étapes manquant dans la vérification de l'authenticité des certificats
Cette similitude est inhérente au détail de la faille. Une liste de commandes permet normalement de vérifier l’authenticité des certificats TLS, ou X509. Certaines étapes critiques dans cette vérification ne fonctionnent tout simplement pas car certains codes d’erreurs ne sont pas gérés correctement. Conséquence : des certificats TLS qui ne devraient pas être validés sont considérés comme parfaitement légitimes. Comme l’indique Red Hat (qui a découvert la faille au cours d'un audit) dans un bulletin de sécurité, un pirate pourrait tout à fait créer un certificat qui pourrait être appliqué sur un faux site en le faisant passer pour le véritable site.
L’erreur est nécessairement humaine et semble grossière. L’un des aspects inquiétants de l’affaire est que le code affecté pourrait remonter à 2005, ce qui signifie qu’il pourrait exister depuis neuf ans sans que personne ne l’ait repéré et alors qu’il était en accès libre. Mais le problème le plus sérieux est que la bibliothèque GnuTLS est utilisée dans de très nombreux produits, ce qui pourrait entraîner des conséquences multiples.
De nombreux produits touchés, un correctif déjà disponible
Ainsi, des distributions l’utilisent, notamment Debian (qui a publié également un bulletin de sécurité) et Ubuntu, déjà largement représentées dans la sphére Linux. La présence dans ces deux seules distributions suffit à rendre la faille exploitable sur de nombreuses machines. Certains composants, comme la version 3 de lib-curl ou encore des applications de réseau privé virtuel fonctionnant avec le matériel Cisco, s’appuient sur GnuTLS et sont donc vulnérables.
Pour les développeurs de GnuTLS, la situation est simple : toutes les versions de la bibliothèque sont atteintes, à l’exception des dernières révisions des deux branches en cours, estampillées 3.2.12 et 3.1.22. Ils encouragent donc vivement les utilisateurs à mettre à jour ce composant aussi vite que possible. La faille a par ailleurs fait son entrée sur la Common Vulnerabilities and Exposures List sous la référence CVE-2014-0092. Les détails n’y sont par contre pas encore présents.
La mise à jour des distributions sera probablement l’étape la plus simple. Cependant, la diffusion de correctifs pour l’ensemble des produits touchés prendra plus de temps. La faille pose également la question, comme dans le cas d’Apple, d’une éventuelle implication de la NSA. Bien qu’il puisse s’agir d’un scénario de film d’espionnage, les documents dérobés par Edward Snowden ont montré combien l’agence américaine s’investissait dans le contournement des protections informatiques, allant jusqu’à noyauter le développement de certains standards. Une interrogation que l’on peut d’ailleurs voir surgir dans une discussion sur Reddit à propos de la faille.