Pesquisadores da empresa de segurança finlandesa Klikki Oy descobriram uma brecha no WordPress que ficou aberta por pelo menos quatro anos. A vulnerabilidade afeta as versões da 3.0 à 3.9.2 (lançadas entre 2010 e 2014), e permite “a injeção de JavaScript em determinados campos de texto”, de acordo com o relatório publicado no site da companhia.
“O problema afeta campos de comentário em posts e páginas no WordPress”, segundo a publicação – justamente os espaços que podem ser usados sem a necessidade de autenticação, se mantidas as configurações padrão do gerenciador de conteúdo. Criminosos podem usar a falha para inserir um comando junto com alguns links, conforme explica o relatório. O conteúdo, então, aparece na fila de moderação da tela de administração do CMS.
A vulnerabilidade faz com que o JavaScript seja executado assim que o responsável pelo blog acessa a seção de comentários no painel de controle. E como não há limitações para a brecha, mesmo operações que exigiriam privilégios mais altos podem ser feitas.
Uma prova de conceito criada pela companhia finlandesa, por exemplo, conseguia logo de cara apagar seus próprios rastros. Depois, podia mudar “a senha do usuário, adicionar uma conta nova de administrador e usar o editor de plugin para criar um código PHP mantido pelo invasor” (ou “attacker-supplied”, na expressão original).
O problema acontece em parte porque o WordPress permite o uso de algumas tags nos comentários, como [a], [b], [strong] e [code]. Porém, uma função de formatação problemática até a versão 3.9.2 não conseguia identificar e separar determinados tipos de texto, o que podia – e pode, em casos de sistemas ainda não atualizados – ser explorado por eventuais criminosos e invasores.
Correção – A linha com erro foi corrigida na versão 4.0 do CMS, lançada em setembro deste ano, mas isso não significa que todos os administradores estejam seguros. Segundo estatísticas do próprio WP, apenas 15,1% dos usuários da plataforma estão usando esta edição mais recente. E como a opção de comentários sem autenticação vem ativa por padrão, é bem provável que a vulnerabilidade afete uma quantidade bem razoável de usuários do sistema.