E o Plugin do WordPress Contact Form 7 tem uma vulnerabilidade crítica, de a cordo com seu desenvolvedores. Conheça e veja o que fazer para corrigir.
A equipe por trás de um popular plugin WordPress divulgou uma vulnerabilidade crítica de upload de arquivo e lançou um patch.
Esse plug-in vulnerável, o Contact Form 7, tem mais de 5 milhões de instalações ativas, tornando essa atualização urgente uma necessidade para os proprietários de sites WordPress por aí.
Plugin do WordPress Contact Form 7 tem uma vulnerabilidade crítica
Esta semana, o projeto Contact Form 7 divulgou uma vulnerabilidade de upload irrestrito de arquivo (CVE pendente) no plugin do WordPress que pode permitir que um invasor contorne as proteções de sanitização de nome de arquivo do Contact Form 7 ao enviar arquivos.
Um invasor pode carregar um arquivo criado com código arbitrário no servidor vulnerável usando o plug-in.
Então, explorando essa vulnerabilidade severa, o arquivo pode ser executado como um script pelo invasor para executar o código dentro dele.
“O Formulário de Contato 7 5.3.2 foi lançado. Este é um lançamento urgente de segurança e manutenção. Nós o encorajamos a atualizá-lo imediatamente”, diz o comunicado de segurança do projeto.
A vulnerabilidade foi descoberta e relatada por Jinson Varghese Behanan, analista de segurança da informação da Astra Security.
“A vulnerabilidade foi encontrada enquanto fazíamos uma auditoria de segurança para um cliente.”, disse o analista.
“Vendo a gravidade da vulnerabilidade e o número de sites WordPress usando este popular plugin, relatamos rapidamente a vulnerabilidade. O desenvolvedor foi ainda mais rápido na emissão de uma correção. Parabéns à equipe do Contact Form 7 por liderar pelo exemplo”, disse Behanan.
Conforme observado pelo site BleepingComputer, o problema ocorre no arquivo includes/formatting.php, que faz parte do código do plugin Contact Form 7.
Nas versões vulneráveis, o plugin não remove caracteres especiais do nome do arquivo carregado, incluindo o caractere de controle e separadores.
Isso poderia permitir que um invasor carregasse um nome de arquivo contendo extensões duplas, separadas por um caractere especial ou não imprimível, como um arquivo chamado “abc.php .jpg.”
O separador entre as duas extensões, neste exemplo, é um caractere de tabulação (\t). Para a interface do lado do cliente do Contact Form 7, pode parecer um arquivo de imagem (*.jpg).
Quando carregado no servidor, entretanto, o Formulário de Contato 7 provavelmente analisará o nome do arquivo até a primeira extensão e descartará a segunda devido a um separador.
O novo nome de arquivo, portanto, se tornaria “abc.php”, um script PHP, que o invasor agora pode acessar, para executar código arbitrário no servidor.
A correção feita pelo projeto, mostrada abaixo, contém uma validação baseada em regex para capturar casos como este:
- Correção para vulnerabilidade de upload de arquivo do Formulário de Contato 7
- Correção feita para vulnerabilidade de upload irrestrito de arquivo do Formulário de Contato 7
Esta não é a primeira instância de uma vulnerabilidade de extensão dupla séria à espreita em blogs e plataformas CMS.
No mês passado, descobriu-se que os sites Drupal tinham uma vulnerabilidade de upload de arquivo de dupla extensão. Em abril deste ano, um módulo NodeJS pode ser explorado para obter a execução remota de código por meio de uploads de arquivo.
A versão 5.3.2 corrigida do plugin pode ser baixada do WordPress. Os usuários do Contact Form 7 são aconselhados a aplicar esta atualização urgente imediatamente.