Cloudbleed
Informatique
| 2 Commentaires
Voila un des dangers de faire transiter son trafic web par un tiers. Toute la websphere en parle : la faille liée à Cloudflare découverte par Tavis Ormandy. Mon site perso est également touché et figure dans la liste, tout comme win3x.org d'ailleurs, entre autre. Puisque Cloudflare est un CDN, c'est en quelque sorte un immense reverse-proxy distribué ayant la faculté de mettre en cache en plus des données.
Le bug tel que décrit réside dans un module de parser HTML qu'ils ont écrit eux-même dans lequel il y aurait une fuite de données. Ce module est ensuite intégré dans NGINX pour faire son job (de réécriture d'URL entre autres). NGINX tourne sur les nœuds "border edge" = de sortie = ceux qui acceptent les requêtes et remettent les réponses aux clients. De ce que j'ai compris : avec un certain type de requête on peut faire "dérailler" un buffer de ce module qui pourrait renvoyer au client des informations aléatoires résiduelles en mémoire vive concernant des requêtes/transactions faites par le même serveur par d'autres utilisateurs (à coté en parallèle), et ce quelque soit le site visité.
Les informations sortent en clair et c'est normal car c'est dans une zone ou le chiffrement n'est plus. Le chiffrement est d'une part entre le site d'origine (exemple OVH) et le serveur Cloudflare et d'autre part ensuite entre votre navigateur chez vous et le serveur Cloudflare. Le serveur Cloudflare déchiffre tout dans un sens et chiffre tout dans l'autre sens pour pouvoir faire ses traitements. C'est clairement un point sensible. Du coup il est impossible de savoir quelles informations ont été remises à qui, et si cette personne s'en est servi ou pas. Un peut comme si votre facteur distribuait le courrier à n'importe quelle adresse de manière aléatoire. Les informations révélées peuvent donc être tout ce que vous envoyez vers un site (requêtes HTTPS), du genre :
- Des morceaux de données POST, contenant éventuellement des mots de passe
- Des réponses JSON d'une API
- Des en-têtes HTTP
- Des paramètres URI
- Des cookies
- Des clés API
- Des jetons OAuth
- Etc.
Comme Cloudflare a peut-être malheureusement redirigé ces informations vers n'importe qui à une période (depuis septembre 2016 mais surtout courant février visiblement). Le bug est corrigé mais ces données restent donc hypothétiquement dans la nature. Ces données sensibles ont parfois été mises en cache par des moteurs de recherche, elles sont donc pour certaines récupérables même si la faille a été comblée depuis. C'est pour cela que, par précaution, tout le monde vous conseille de :
- modifier le mot de passe des sites hébergés qui sont derrière Cloudflare auxquels vous avez accédé, ces mots de passe ou leur hash (en espérant qu'ils soient salés, mais cela dépend des sites sur lesquels vous mettez les pieds et non de Cloudflare)
- se déconnecter/se reconnecter des sites afin de faire sauter/invalider les jetons d'authentification qui ne seront plus valables pour se connecter avec votre compte à votre place.
Contrairement à ce que j'ai pu lire : non les bases de données des sites n'ont pas été hackées. C'est juste que ces infos ont fuité sur le chemin entre le site et votre navigateur.
Plus de lecture technique :
- https://bugs.chromium.org/p/project-zero/issues/detail?id=1139
- https://www.nextinpact.com/news/103421-cloudbleed-importante-fuite-donnees-chez-cloudflare-changez-vos-mots-passe.htm
- https://linuxfr.org/users/pied/journaux/ho-la-belle-prise-chez-cloudflare
- https://www.theregister.co.uk/2017/02/24/cloudbleed_buffer_overflow_bug_spaffs_personal_data/
- http://thehackernews.com/2017/02/cloudflare-vulnerability.html