Gurkirat Singh a récemment mis en évidence une faille dans le système de récupération de compte qui permettait à n'importe qui de récupérer le compte Facebook de n'importe quel utilisateur.
La faille était aussi béante que simple à mettre en oeuvre : lorsque l'utilisateur clique sur "Mot de passe oublié" et renseigne son identifiant pour générer un nouveau mot de passe, Facebook génère un email avec un code d'activation à 6 chiffres permettant en théorie de valider l'appartenance du compte.
Sauf que la série de 6 chiffres ne représente qu'un simple petit million de combinaisons possibles. Et ce code reste valable tant qu'il n’a pas été utilisé. Une théorie vient alors rapidement : si plus d'un million d'utilisateurs envoie une requête de récupération de mot de passe en même temps, alors certains reçoivent obligatoirement le même code.
Pour appuyer ses hypothèses, le hacker s'est constitué une base de deux millions d'identifiants Facebook. Ensuite, un script s'est chargé d'envoyer une demande de récupération pour chaque identifiant, le tout opérant depuis plusieurs milliers d'adresses IP différentes. Ensuite, il suffisait de choisir un code à 6 chiffres au hasard, et de tenter une récupération de base... Et le tour est joué, le hacker a ainsi pu créer un nouveau mot de passe pour un des comptes ciblés.
Alors, certes, on ne peut pas vraiment cibler un compte en particulier, à moins de reproduire la procédure autant de fois qu'il le faut jusqu'à tomber par hasard sur le bon code d'activation, néanmoins, la faille reste relativement simple à exploiter.
Pour avoir partagé sa découverte, Gurkirat Singh n'a reçu qu'une prime de 500 dollars de la part de Facebook. Le réseau social a corrigé le tir en renforçant simplement les filtres au niveau des adresses IP, mais pas du tout le fonctionnement de son système à code 6 chiffres, ce qui fait que la faille reste potentiellement exploitable.