Você acreditaria se disséssemos que clicar em um único link malicioso poderia invadir sua conta do Facebook? O cenário é inteiramente possível devido a uma falsificação de solicitação entre sites crítica recentemente descoberta (CSRF) vulnerabilidade. A falha CSRF do Facebook pode permitir que invasores sequestrem contas simplesmente atraindo os usuários-alvo para que cliquem no URL especialmente criado.
Vulnerabilidade de CSRF do Facebook explicada
A vulnerabilidade foi descoberta por um pesquisador conhecido online como Samm0uda. Pelo visto, ele notou um endpoint falho que poderia ter sido comprometido para contornar as proteções CSRF, levando a aquisições de contas.
De acordo com relatório do pesquisador e demonstração:
O endpoint vulnerável é https://www.facebook.com/comet/dialog_DONOTUSE/?url=XXXX onde XXXX é o endpoint com parâmetros onde a solicitação POST será feita (o token CSRF fb_dtsg é adicionado automaticamente ao corpo da solicitação).
Isso lhe permitiu fazer muitas ações, no caso de a vítima visitar um URL criado com códigos maliciosos para esse fim.
Para que a apropriação da conta ocorra com sucesso, um novo endereço de e-mail ou número de telefone deve ser adicionado à conta da vítima.
O problema aqui é que a vítima precisa visitar dois URLs diferentes – um para adicionar o e-mail / número de telefone, e um para confirmá-lo porque os endpoints "normais" usados para adicionar e-mails ou números de telefone não têm um parâmetro "próximo" para redirecionar o usuário após uma solicitação bem-sucedida, o pesquisador escreveu.
Para contornar este obstáculo, o pesquisador teve que encontrar endpoints onde o parâmetro “próximo” estava presente para que o controle da conta acontecesse com um único URL.
Deve-se notar que uma vez que o acesso aos tokens de autenticação do usuário é obtido, um endereço de e-mail controlado pelo invasor é adicionado à conta. Isso permite que os invasores assumam contas simplesmente redefinindo senhas e bloqueando o usuário de sua conta.
Contudo, a vulnerabilidade CSRF do Facebook apresentada pelo pesquisador apresenta uma exploração completa com um clique que permite ao invasor sequestrar contas facilmente. Contudo, isso pode ser evitado com a ajuda da autenticação de dois fatores adicionada à conta do Facebook. 2FA impediria um agente de ameaça de fazer login nas contas das vítimas, a menos que os invasores consigam verificar a senha de 6 dígitos que é enviada ao dispositivo móvel do usuário.
Deve-se notar que os invasores ainda podem explorar a vulnerabilidade e executar várias ações maliciosas, como alterar a foto do perfil do usuário ou postar em sua linha do tempo.
A vulnerabilidade foi relatada ao Facebook em janeiro 26, e foi abordado em janeiro 31. O pesquisador do Samm0uda conseguiu $25,000 como recompensa através do programa de recompensas de bugs do Facebook.
O Facebook desperdiçou aproximadamente $4.3 milhões em mais de 2,400 relatório de erros, enviado por 800 pesquisadores nos anos 2011-2016. A maioria das vulnerabilidades relatadas por meio do programa neste programa foram XSS (cross-site scripting) insetos, Erros de CSRF (como o descrito no artigo), e falhas de lógica de negócios.