Logo da Olyng

Problemas de Vulnerabilidade no plugin Rank Math SEO (<1.0.41.2)

Problemas de Vulnerabilidade no plugin Rank Math SEO (<1.0.41.2)

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?

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.

Wordpress SEO Plugin - Rank Math fixed in version 1.0.41

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).