A RIPS Technologies descobriu um problema no WordPress e no plug-in de comércio eletrónico WooCommerce, criado pela Automattic. Segundo as estatísticas oficiais, esta solução foi transferida mais de quatro milhões de vezes e conta com aproximadamente o mesmo número de instalações ativas.
Os investigadores explicam que existem dois problemas aqui. O primeiro problema é que, quando o plug-in é instalado no WordPress, que utiliza diferentes funções para os utilizadores, não cria o seu próprio sistema de autenticação, mas utiliza o sistema de privilégios do CMS existente. Para tal, o plug-in cria uma nova função com as novas funcionalidades do WordPress e depois limita a sua interação com as definições do CMS e com os outros utilizadores através das suas próprias funções.
Assim, ao instalar o WooCommerce, é criada uma nova função para Shop Manager («gestor de loja»), que dispõe dos direitos edit_users. Esta autorização permite ao utilizador modificar publicações, bem como os perfis de qualquer outro utilizador do WordPress, incluindo o administrador.
Parece que os programadores do WooCommerce disponibilizaram uma função que impede os utilizadores com esta função de interferir com os perfis dos administradores. Mas, devido a uma falha no funcionamento do sistema de gestão de privilégios dos plug-ins, quando o WooCommerce é desativado, a função de restrição dos «gestores de loja» deixa de funcionar e os utilizadores com esta função podem modificar livremente as contas de outros utilizadores.
Por conseguinte, a única forma fiável de desativar o plug-in é desativá-lo através do administrador e eliminar todos os seus ficheiros. E aqui está o segundo problema.
O facto é que os analistas da RIPS Technologies descobriram um erro relacionado com a eliminação dos ficheiros do WooCommerce da versão 3.4.5 e inferiores. Verificou-se que os utilizadores com os direitos de Shop Manager podem eliminar qualquer ficheiro do plug-in, incluindo os que são essenciais ao seu funcionamento. Posteriormente, o plug-in deixará de funcionar de forma previsível, o WordPress desativá-lo-á automaticamente e a situação regressará à anterior, em que um utilizador com a função de gestor de loja pode modificar os perfis de qualquer utilizador.
Os investigadores explicam que, numa situação como esta, o atacante não terá dificuldade em capturar a conta de administrador e, portanto, em controlar todo o site. O vídeo abaixo ilustra uma combinação dos dois problemas do caso.
Os especialistas salientam que, para conseguir utilizar este sistema com êxito, um atacante deve ter acesso a uma conta com a função de gestor de loja. No entanto, segundo os investigadores, isto é possível graças às vulnerabilidades XSS ou aos ataques de phishing.
Os programadores do WooCommerce já eliminaram o problema ao publicar uma nova versão do plug-in ( 3.4.6 ). Como a atualização automática dos plug-ins não está de todo incluída, os especialistas recomendam aos utilizadores que procurem atualizações e que se certifiquem de que funcionam com as versões mais recentes do WooCommerce.