L'entreprise Cloudflare, qui fournit des services à des millions de sites web, a reconnu une fuite de données sensibles à la suite d'une modification technique. Des informations privées se sont retrouvées dans la nature et les moteurs de recherche les ont mises en cache par inadvertance.

Mots de passe, cookies, jetons d’authentification OAuth, clés API, paramètres URI… les informations qui ont fuité sur le web à cause d’un bug dans un logiciel utilisé par Cloudflare pour opérer son service sont nombreuses et particulièrement sensibles. L’incident, qui a été annoncé jeudi 23 février dans un billet de blog, n’aurait toutefois pas engendré d’actes malveillants, selon l’entreprise américaine.

Attention, donc, si vous utilisez les services de Cloudflare pour opérer votre site web. La prudence commande de modifier sans tarder tous les mots de passe qui pourraient avoir été affectés par cet incident. Et Cloudflare devrait également révoquer tous les jetons d’authentification.

À l’origine de l’affaire se trouve Tavis Ormandy. Il s’agit d’une pointure dans le domaine de la sécurité informatique et un hacker très talentueux. Cela fait maintenant plusieurs années qu’il travaille en tant que membre de l’équipe Project Zero mise en place par Google pour dénicher des vulnérabilités critiques dans les logiciels, notamment les failles 0-day.

Cette équipe, présentée comme une dream team, compte à son actif quelques découvertes de haute volée. Tavis s’est notamment illustré en signalant des brèches critiques dans Linux, Windows, la plateforme de jeux Uplay conçue par Ubisoft ou encore le shell Bash. Il a aussi épinglé les éditeurs d’antivirus Sophos et Trend Micro et les gestionnaires de mots de passe LastPass et Dashlane.

C’est le samedi 18 février que l’affaire éclate au grand jour. Dans un message publié sur Twitter, Tavis Ormandy demande à entrer urgemment en contact avec l’équipe de sécurité de la société. Sans dire exactement de quoi il retourne, il explique simplement avoir repéré un « problème d’infrastructure » dans Cloudflare et ne pas pouvoir passer par les méthodes de signalement traditionnelles, comme HackerOne.

Bien vite, la demande de Tavis Ormandy finit par atteindre les oreilles des ingénieurs en sécurité travaillant pour Cloudflare. Ces derniers lui communiquent leur mail pour qu’il puisse leur transmettre en toute discrétion les détails de sa découverte — dans le cadre d’une divulgation responsable, il est en effet recommandé de contacter d’abord la victime d’une faille pour qu’elle puisse la corriger, avant de la détailler.

Un incident résolu en quelques heures

Et visiblement, les ingénieurs de Cloudflare ont travaillé avec célérité pour la résoudre puisque les premières contre-mesures ont été installées en 47 minutes. L’incident dans son ensemble a quant lui été résolu en 7 heures, selon l’entreprise.  Tavis Ormandy lui-même a d’ailleurs déclaré avoir été « vraiment impressionné » par la rapidité d’intervention de Cloudflare.

Il faut dire que l’affaire était sérieuse, peut-être l’une des plus graves qu’ait connue la firme américaine. En effet, dans son message sur la fuite de données, surnommée officieusement Cloudbleed en référence à Heartbleed, une vulnérabilité logicielle qui a été découverte dans la bibliothèque de cryptographie open source OpenSSL, il explique avoir trouvé une ribambelle de données très sensibles.

brise-casse-faille-breche-vulnerabilite
CC Lenz

« Je n’avais pas réalisé combien de sites web se trouvaient derrière un CDN Cloudflare avant cet incident  », écrit Tavis Ormandy le 19 février : « nous parlons de requêtes HTTPS complètes, d’adresses IP de clients, de réponses complètes, de cookies, de mots de passe, de clés, de données, de tout ».

Quels sont les sites affectés par cette fuite du trafic HTTPS ? D’après une liste publiée sur GitHub, Uber, Patreon, Coinbase, Medium, Bitpay, Yelp, Zendesk, Namecheap et 4Chan font partie sites potentiellement vulnérables. D’autres qui ont été inclus précédemment dans la liste, en l’occurrence StackOverflow, FastMail et 1Password, ont en revanche déclaré ne pas être concernés. Il y aurait très exactement 4 287 625 domaines affectés, selon l’auteur de la liste, Nick Sweeting.

Parmi les informations figurent des réservations d’hôtel, des mots de passe provenant de gestionnaires de mots de passe et des messages entiers issus de sites de rencontre dans les données mises en cache. Manifestement, la fuite a duré plusieurs mois : Cloudflare indique en effet avoir pris la décision il y a un an de faire quelques ajustements techniques qui ont été à l’origine de l’incident.

Je n’avais pas réalisé combien de sites web se trouvaient derrière un CDN Cloudflare avant cet incident

Selon Cloudflare, une fois l’alerte donnée par Tavis Ormandy, les ingénieurs ont coupé trois fonctionnalités — qualifiées de mineures par l’entreprise –, à savoir l’offuscation du mail, l’exclusion côté serveur et la réécriture automatique des requêtes HTTPS, à cause d’un bug figurant dans un analyseur syntaxique. C’est, d’après l’entreprise, le point d’origine de la fuite.

La compagnie explique que cette diffusion incontrôlée a été la conséquence d’un dépassement de tampon provoqué par une erreur dans le code qui été généré par l’analyseur syntaxique Ragel que la société utilisait auparavant pour le compiler. Selon Cloudflare,ce bug était présent dans le code produit par Ragel depuis des années mais n’a été découvert qu’au moment de passer à un autre analyseur syntaxique, cf-html, une décision qui «  a changé subtilement le tampon » et entraîné la fuite, « même s’il n’y avait pas de problèmes dans cf-html lui-même  ».

cloudflare
CC Davide D’Amico

Si du côté de Cloudflare, la situation a été rapidement sous contrôle, il a toutefois fallu que la société se tourne vers les moteurs de recherche afin qu’ils purgent sans tarder certaines données qui ont été enregistrées. En effet, il y a eu en quelque sorte un sur-accident avec la mise en cache d’une partie des informations qui se sont retrouvées dans la nature. Et dans certains cas, des données en cache peuvent encore être vues.

Revenant sur le délai qui a été constaté entre le moment où Tavis Ormandy a fait part de ses découvertes et l’instant où le problème a été décrit sur son site officiel, Cloudflare a affirmé que son « inclination naturelle était de donner des nouvelles du bug le plus vite possible » mais que son devoir était de s’assurer que les caches des moteurs de recherche avaient été nettoyés avant toute annonce publique.

Le groupe dit également avoir effectué une recherche sur des sites comme Pastebin, qui sont régulièrement utilisés pour partager des données sensibles obtenues à la suite d’un piratage ou d’une fuite de données, sans toutefois trouver le début d’une quelconque trace prouvant que des personnes malintentionnées ont pu mettre la main sur ces informations pour les exploiter à leur profit.

Selon Cloudflare, le pic de l’incident a eu lieu entre le 13 et le 18 février avec une potentielle fuite de mémoire survenant au rythme d’environ une requête HTTP toutes les 3 300 000 passant par ses services. Cela parait peu (c’est environ 0,00003 % des requêtes) présenté comme cela, mais c’est en réalité assez significatif si l’on tient compte de la place qu’a pris Cloudflare sur le web, avec un réseau très vaste.

Partager sur les réseaux sociaux