O Gravity Forms, um dos plugins mais populares do WordPress com mais de um milhão de instalações ativas, foi comprometido em um ataque à cadeia de suprimentos que infectou downloads manuais do componente com backdoors maliciosos entre os dias 10 e 11 de julho. O incidente afetou especificamente as versões 2.9.11.1 e 2.9.12 do plugin, permitindo que indivíduos mal-intencionados executassem códigos remotamente e assumissem controle total de sites infectados.
- Centenas de impressoras Brother têm falha crítica de segurança
- Proteja suas contas: como ativar a autenticação em duas etapas nas redes sociais
A descoberta foi feita pela empresa de segurança PatchStack, que identificou atividades suspeitas em sites que haviam instalado o plugin diretamente do site oficial da RocketGenius, desenvolvedora do Gravity Forms. O plugin é amplamente utilizado para criar formulários de contato, pagamento e outros tipos de formulários online, sendo adotado por organizações gigantescas como Airbnb, Nike, ESPN, Unicef, Google e Yale.
Ataques à cadeia de suprimentos (supply chain attacks) são uma das ameaças mais sofisticadas e perigosas da atualidade. Nesse tipo de investida, criminosos não atacam diretamente o alvo final, mas comprometem um fornecedor ou componente de software confiável para distribuir malware para múltiplas vítimas simultaneamente. Dessa forma, uma única falha de segurança pode comprometer milhares de sites ao mesmo tempo.
–
Entre no Canal do WhatsApp do Canaltech e fique por dentro das últimas notícias sobre tecnologia, lançamentos, dicas e tutoriais incríveis.
–
Como o Gravity Forms foi comprometido?
Os atacantes conseguiram se infiltrar no sistema de distribuição da RocketGenius e modificar os arquivos de instalação do Gravity Forms disponibilizados para download manual. Especificamente, o arquivo gravityforms/common.php foi alterado para incluir código malicioso que iniciava uma comunicação com um domínio suspeito em “gravityapi.org/sites” — importante notar que este domínio não pertence à RocketGenius.
Uma vez instalado, o plugin comprometido coletava uma série de metadados do site, incluindo URL, caminho do administrador, tema ativo, plugins instalados e versões do PHP e WordPress. Essas informações eram enviadas para os servidores controlados pelos hackers. Em resposta, o servidor malicioso retornava código PHP malicioso codificado em base64, que era salvo como wp-includes/bookmark-canonical.php.
Este malware se disfarçava como “WordPress Content Management Tools” e habilitava execução remota de código sem necessidade de autenticação, utilizando funções como handle_posts(), handle_media() e handle_widgets(). Todas elas podiam ser acionadas por usuários não-autenticados através de uma cadeia de execução que culminava em uma chamada eval com entrada controlada pelo usuário, resultando em execução remota de código no servidor.
Ataques supply chain como este são muito eficazes por explorarem a confiança que usuários têm em fornecedores legítimos. Em vez de tentar quebrar defesas individuais de cada site, os criminosos comprometem uma fonte central de distribuição de software, multiplicando o alcance do ataque. Segundo a PatchStack, os domínios utilizados na operação foram registrados em 8 de julho, indicando um planejamento prévio da investida.
Falha afetava downloads manuais do plugin
A infecção ocorreu especificamente através de downloads manuais do site oficial da RocketGenius. Usuários que baixaram manualmente a versão 2.9.11.1 nos dias 9 ou 10 de julho, ou a versão 2.9.12 no dia 10 de julho, receberam cópias infectadas do plugin. Administradores que utilizaram o composer para instalar a versão 2.9.11.1 nessas datas também foram afetados.
Felizmente, o sistema de API do Gravity Forms que gerencia licenciamento, atualizações automáticas e instalação de add-ons não foi comprometido. Isso significa que usuários que atualizaram para a versão 2.9.12 através do painel do WordPress (usando a notificação de atualização disponível) não foram expostos ao malware.
Os riscos de ter um plugin infectado como este instalado são graves. O código malicioso bloqueava tentativas de atualização do plugin, garantindo sua persistência no sistema, e criava uma conta de administrador que concedia aos atacantes controle total do site. Com essa conta, os criminosos podiam expandir o acesso remoto, injetar código adicional não-autorizado, manipular contas de administrador existentes e acessar todos os dados armazenados no WordPress.
Para sites empresariais ou de e-commerce, as consequências podem incluir roubo de dados de clientes, informações financeiras, credenciais de login e propriedade intelectual. Além disso, sites comprometidos podem ser utilizados para distribuir malware para visitantes, hospedar conteúdo ilegal ou servir como ponto de entrada para ataques laterais em redes corporativas.
Como saber se você está infectado?
Em comunicado oficial, a RocketGenius confirmou o incidente e implementou medidas imediatas para conter o problema. A empresa escaneou e confirmou que nenhum outro pacote disponível para download foi afetado, além de disponibilizar a versão 2.9.13 limpa para download. Todas as chaves e credenciais dos serviços utilizados para armazenar pacotes foram atualizadas, contas de administrador foram auditadas e suas senhas alteradas.
A desenvolvedora também notificou organizações de segurança, registradores de domínio e provedores de hospedagem para tomar alguma atitude contra os endereços IP e domínios utilizados pelo malware. Os IPs identificados incluem 185.243.113.108, 185.193.89.19, 24.245.59.0 e 194.87.63.219.
Para verificar se seu site foi infectado, você pode utilizar ferramentas de detecção como o Wordfence, que identificam automaticamente o malware. Alternativamente, é possível fazer uma verificação manual acessando três URLs específicas no navegador, substituindo {seu_dominio} pelo domínio do site:
- {seu_dominio}/wp-content/plugins/gravityforms/notification.php?gf_api_token=Cx3VGSwAHkB9yzIL9Qi48IFHwKm4sQ6Te5odNtBYu6Asb9JX06KYAWmrfPtG1eP3&action=ping
- {seu_dominio}/wp-content/plugins/gravityforms_2.9.11.1/notification.php?gf_api_token=Cx3VGSwAHkB9yzIL9Qi48IFHwKm4sQ6Te5odNtBYu6Asb9JX06KYAWmrfPtG1eP3&action=ping
- {seu_dominio}/wp-content/plugins/gravityforms_2.9.12/notification.php?gf_api_token=Cx3VGSwAHkB9yzIL9Qi48IFHwKm4sQ6Te5odNtBYu6Asb9JX06KYAWmrfPtG1eP3&action=ping
Se qualquer uma dessas URLs retornar a mensagem “Warning: Undefined array key ‘gf_api_action'”, o seu site está infectado. Neste caso, a melhor maneira de se livrar do malware é restaurar o site a partir de um backup anterior ao dia 9 de julho. Alternativamente, você pode desativar e excluir as versões comprometidas do plugin, baixar a versão 2.9.13 ou superior do portal oficial e reinstalar o componente limpo.
VÍDEO: Você SABE como proteger os dados do seu CELULAR?
Leia mais no Canaltech:
- 16 bilhões de credenciais vazadas: veja como deixar suas contas protegidas
- ‘Megavazamento’ reforça importância de práticas de segurança, diz especialista
- Sites falsos exploram ‘onda Labubu’ para aplicar golpes; veja como se proteger
Leia a matéria no Canaltech.