Uma investigação técnica revelou que uma versão comprometida do plugin comercial WowShipping Pro, na edição 1.0.6, distribuída pela empresa WPXPO para WordPress, foi usada como porta de entrada para instalar silenciosamente um segundo plugin malicioso em sites que utilizam o WooCommerce. A empresa de segurança Patchstack recebeu o arquivo adulterado das mãos de um proprietário de site que rastreou a origem de um ataque até essa extensão.
De acordo com a análise, o arquivo continha um mecanismo automático de instalação (dropper) capaz de implantar, sem qualquer interação do administrador, um plugin independente disfarçado de ferramenta legítima, mas que na prática funcionava como um kit completo de acesso remoto não autorizado.
Sobre o plugin comprometido

O WowShipping é uma extensão para WooCommerce que permite configurar tabelas de frete personalizadas, com regras baseadas em peso, destino, quantidade, categoria de produto, papel do usuário e mais de trinta outras condições. A versão Pro, vendida diretamente pelo site da WPXPO, acrescenta lógica condicional avançada, cotações de transportadoras em tempo real e frete diferenciado por perfil de usuário. O plugin, em suas versões gratuita e paga, soma milhares de instalações ativas.
Como o caso veio à tona

Em 16 de abril, Chad Yoder, da empresa Black Anvil Creative, relatou à Patchstack a invasão de um site de cliente que rodava o WowShipping Pro na versão 1.0.6, encaminhando junto a cópia adulterada da extensão. Segundo o relato, esse arquivo comprometido teria partido originalmente da própria WPXPO.
A análise do pacote mostrou que o arquivo includes/class-plugin-actions.php havia sido modificado, com metadados internos do zip indicando última gravação em 13 de março, cinco dias depois da data padrão de construção do restante do pacote, registrada em 8 de março.
A alteração acrescentou 73 linhas de código responsáveis por um instalador de malware plenamente funcional, mantendo intacta a lógica legítima original do arquivo. Diversos indícios forenses apontam que a modificação não partiu do desenvolvedor original:
- o método injetado usa indentação por espaços, enquanto o restante do arquivo usa tabulações;
- não possui bloco de documentação PHPDoc, presente em todos os demais métodos da classe;
- recorre a cURL bruto e à classe ZipArchive em vez das APIs de sistema de arquivos do próprio WordPress, usadas no restante do plugin.
Em 22 de março, a WPXPO lançou as versões 1.0.7 e 1.0.8, já sem o mecanismo malicioso. A comparação com a versão 1.0.8 confirmou que o método responsável pela instalação do payload e seu registro no gancho admin_init foram removidos, sem qualquer outro vestígio do dropper no restante do pacote. As entradas de changelog das duas versões, ambas datadas de 22 de março, traziam apenas a descrição genérica “Fix: Some Issue Fixed”.
Comunicação da WPXPO aos clientes

Dois dias depois, em 24 de março, a WPXPO enviou um e-mail aos clientes da versão Pro com o título “Security Update – Action Required”, informando que havia “lançado uma nova versão de seus plugins Pro que inclui um importante patch de segurança” e solicitando a atualização. A mensagem, no entanto, não detalhava a natureza do problema, não identificava o malware, não alertava sobre a possível instalação de um plugin secundário que permaneceria ativo mesmo após a atualização, e não trazia instruções de detecção ou remoção.
Em contato direto com quem relatou o incidente, a equipe de suporte da WPXPO reconheceu o problema, afirmando ter “revisado seu processo de build, protegido seus servidores e realizado uma auditoria completa dos arquivos afetados”, além de disponibilizar “uma versão atualizada para garantir que tudo esteja limpo e seguro para todos os usuários”. Até o momento, nenhum comunicado público formal havia sido divulgado pela empresa.
O conjunto de evidências — o lançamento de uma versão 1.0.8 limpa, o e-mail aos clientes e o reconhecimento privado da empresa — é consistente com um incidente de comprometimento na cadeia de suprimentos de software.
A extensão total do incidente, incluindo quais plugins e qual janela de tempo foram afetados, não foi divulgada publicamente. O e-mail da WPXPO recomendava a atualização de “todos os plugins Pro”, o que sugere que o problema pode não ter se limitado ao WowShipping Pro — informação que, até o momento, não foi verificada de forma independente pela Patchstack junto ao restante do catálogo da empresa.
Como funciona o ataque em duas etapas

O golpe opera em dois estágios distintos. O primeiro é o próprio dropper embutido na cópia adulterada do WowShipping Pro. O segundo é a instalação de um plugin falso, batizado de “WooCommerce Notifications”, onde de fato reside o código malicioso.
Estágio 1: o instalador oculto
O dropper fica hospedado no arquivo includes/class-plugin-actions.php e se registra no gancho admin_init, sendo acionado a cada carregamento de página administrativa por qualquer usuário autenticado como administrador. A rotina verifica a existência de um plugin com o slug “woocommerce-notifications”; caso não o encontre, baixa um arquivo zip de um endereço IP controlado pelo atacante via cURL bruto, extrai o conteúdo diretamente na pasta wp-content/plugins/ e ativa o plugin resultante usando a própria API activate_plugin() do WordPress. Em seguida, envia um sinal ao mesmo IP contendo o domínio da vítima, registrando uma flag para que esse aviso seja disparado apenas uma vez.
Os mesmos sinais de adulteração identificados anteriormente reaparecem nesse trecho: indentação por espaços, ausência de documentação PHPDoc, uso de cURL e ZipArchive no lugar das APIs nativas, além da conexão direta a um endereço IP puro via HTTP simples em uma porta não padrão. Para os analistas, isso indica um atacante tecnicamente competente, mas pouco cuidadoso em disfarçar seu código dentro do estilo original do plugin.
Um agravante importante: o dropper também atua como mecanismo de reinfecção. Enquanto permanecer instalado e ativo, qualquer tentativa de remoção do plugin malicioso é revertida no próximo carregamento de uma página administrativa. Ou seja, atualizar o WowShipping Pro para uma versão limpa elimina o dropper, mas não remove o malware que ele já havia instalado anteriormente.
Estágio 2: o falso plugin “WooCommerce Notifications”
O payload instalado se apresenta como uma extensão legítima do WooCommerce, com cabeçalho de plugin fabricado e identidade visual da própria marca. O pacote inclui ainda arquivos-isca com nomes técnicos plausíveis, que simulam funcionalidades reais sem executar ação alguma. O malware propriamente dito está distribuído em três arquivos de componentes ativos e duas ferramentas web acessíveis incluídas no pacote.
Recomendação para usuários do plugin
Quem utiliza o WowShipping Pro deve garantir que a instalação esteja, no mínimo, na versão 1.0.8, lançada em 22 de março e que não contém o dropper identificado. É fundamental reforçar que apenas atualizar o plugin não é suficiente: caso o malware já tenha sido instalado, ele permanece ativo no site mesmo após a correção, exigindo verificação manual da presença do plugin “WooCommerce Notifications” e remoção completa dos arquivos maliciosos.