Recentemente foi descoberto uma falha de vulnerabilidade no plugin Rank Math SEO, que permitia que qualquer usuário registrado no WordPress, pudesse realizar uma escalada de privilégios, obtendo assim, acesso total a plataforma.
A equipe da Rank Math foi notificada sobre a vulnerabilidade no dia 25 de março de 2020, que logo se prontificou em solucionar este problema o mais rápido possível.
Tanto que um dia após ocorrido, foi lançada uma atualização de segurança na qual corrigia o problema de vulnerabilidade, aonde a equipe do plugin foi totalmente transparente em assumir a falha.
Sendo assim recomendamos fortemente que você atualize seu plugin do Rank Math SEO para as versão mais recente (1.0.41.2).
É importante ressaltar que no momento, qualquer versão anterior a 1.0.41 está sujeita a receber ataques de hackers, visto que o plugin apresenta vulnerabilidades críticas de segurança.
O que iremos ver nesta notícia?
[Esconder]
O que é escalada de privilégios?
No mundo da segurança digital, o termo escalada de privilégios, como o próprio nome já diz, é quando um usuário comum se aproveita de um bug (falha no sistema), para conseguir permissões de um administrador.
Já no contexto do WordPress, de forma padrão nós podemos criar 5 tipos de usuários diferentes como: Assinante, Colaborador, Autor, Editor e Administrador, cada qual possui limites de acesso e permissões distintas.
Com uma falha de escalada de privilégios, um assinante por exemplo, que tem permissão praticamente nula no WordPress (não pode criar páginas, editar, remover ou atualizar) poderia fazer o uso dessa falha e se tornar um administrador.
E depois que um hacker obtém esses privilégios, ele tem permissão absoluta na plataforma, podendo excluir usuários e administradores, remover páginas, posts, arquivos de mídia, deletar temas e derrubar seu site por completo.
Rank Math SEO e o problema com a função permission_callback
Quem é usuário avançado no WordPress, já deve estar familiarizado com a função permission_callback, mas para aqueles que ainda não sabem, essa função é a responsável por verificar se o usuário esta executando uma ação que é permitida de acordo com a sua função.
Segundo a documentação oficial do wordpress, a função permission_callback desempenha o seguinte papel:
“Essa é uma função que verifica se o usuário pode executar a ação (leitura, atualização etc.) antes que o retorno de chamada real seja chamado. Isso permite que a API informe ao cliente quais ações eles podem executar em um determinado URL sem precisar tentar a solicitação primeiro.”
Ou seja, qualquer ação que o usuário faz no wordpress sendo ele administrador ou não, é validada primeiro pelo permission_callback e se o resultado retornar positivo, a ação é executada, caso contrário ela é barrada.
Por exemplo, você é um usuário com função de administrador e resolve excluir uma página do seu blog, e com isso você clica no botão “Excluir Página”.
Só que antes dessa ação ser executada, por de baixo dos panos uma validação acontece, nesse caso, o WordPress por meio daquela função, está a todo momento checando se você tem direitos suficientes para completar tal ação (excluir página).
E se o resultado dessa validação retornar o valor positivo, a página é excluída, caso contrário, uma mensagem de erro aparece e o administrador é notificado por e-mail (Como acontece quando um assinante tenta excluir a página do blog, por exemplo).
O problema, é que segundo o banco de dados de vulnerabilidades do WordPress, o plugin por algum motivo falhou ao incluir a função permission_callback durante a execução de uma parte do código.
“Este plug-in registrou um terminal REST-API, rankmath/v1/updateMeta, que falhou ao incluir um permission_callback usado para verificação de capacidade.”
Dessa forma, qualquer usuário com funções abaixo do administrador, poderia executar uma escalada de privilégios por meio do plugin.
Para saber mais sobre a vulnerabilidade consulte este link.
O problema foi resolvido?
A boa notícia é que o problema foi resolvido 1 dia depois da primeira notificação recebida pela equipe do Rank Math SEO, que o resolveu de maneira responsável e transparente.
Novamente recomendamos que você atualize o seu plugin do Rank Math SEO para a versão mais recente (1.0.41.2).
Comentários