Em resumo: após o PHP2Shell, a segurança do WooCommerce depende primeiro do PHP do servidor, não do plugin da loja. Uma loja guarda dados de clientes, encomendas e acessos a prestadores de pagamento, pelo que o patch do PHP, por si só, não chega. Verifique também o código do checkout, as chaves da API REST e os webhooks.
O que o PHP2Shell significa para uma loja WooCommerce
O WooCommerce é um plugin do WordPress e corre, por isso, no mesmo PHP. Segundo a equipa do PHP, as vulnerabilidades CVE-2026-109618 e CVE-2026-109619 permitem executar código malicioso remotamente sem autenticação. Para uma loja isto é mais grave do que para um site institucional, porque está em jogo mais coisa:
- Nomes, moradas de entrega e de faturação, números de telefone e endereços de e-mail
- Histórico de encomendas e contas de clientes com hashes de palavras-passe
- Chaves de API e segredos das ligações a prestadores de pagamento, expedição e contabilidade, guardados na base de dados
- Transferências de produtos digitais na pasta
wp-content/uploads/woocommerce_uploads/
Com formulários de pagamento integrados dos prestadores, os dados de cartão normalmente não ficam na loja. Um atacante com acesso ao servidor pode, contudo, alterar o JavaScript do checkout de modo a ler os dados introduzidos antes do envio. Indicações gerais para comerciantes encontra em Segurança informática para lojas online.
A segurança do WooCommerce começa na versão do PHP
Em WooCommerce > Estado, o estado do sistema mostra, na secção do ambiente do servidor, a versão do PHP com que a loja realmente corre. As versões upstream corrigidas são 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Os fornecedores de alojamento, no entanto, incorporam muitas vezes as correções como backport, e então o número apresentado continua antigo. Por isso, confie na confirmação escrita do fornecedor e no reinício de todos os processos PHP.
Quais as versões do PHP que a sua versão do WooCommerce suporta, verifique-o nos requisitos de sistema do fabricante em woocommerce.com. A mudança para uma versão principal mais recente do PHP deve ser feita num ambiente de teste, pois os plugins de pagamento podem, de outro modo, falhar sem se dar por isso.
Onde os atacantes atuam nas lojas WooCommerce
Além dos esconderijos conhecidos do WordPress, existem locais típicos de lojas:
- Substituições de templates no tema: pasta
woocommerce/checkout/no tema ativo. Os ficheiros alterados aqui afetam diretamente a caixa e a confirmação da encomenda. - Plugins de pagamento: ficheiros alterados em
wp-content/plugins/do prestador de pagamento. - Chaves da API REST: em WooCommerce > Definições > Avançado > API REST. Uma chave alheia com direitos de leitura ou escrita é uma backdoor sem ficheiro.
- Webhooks: em Avançado > Webhooks. Um webhook desconhecido pode enviar cada nova encomenda para um endereço alheio.
- Funções: novas contas com a função «Gestor da loja» ou «Administrador».
- Registos:
wp-content/uploads/wc-logs/pode conter dados pessoais e não deve poder ser acedida publicamente.
Verificações inofensivas na linha de comandos:
# Listar administradores e gestores da loja
wp user list --role=administrator
wp user list --role=shop_manager
# Mostrar ficheiros PHP do tema alterados desde 17/10/2026
find wp-content/themes -name "*.php" -newermt "2026-10-17"
Um patch do PHP não apaga uma chave da API REST alheia nem um webhook introduzido. Ambos continuam a funcionar depois da atualização. Por isso, verifique ativamente as listas e, em caso de suspeita, renove as chaves de API junto dos seus prestadores de pagamento.
Extensões e atualizações da loja: o que fazem e o que não fazem
Uma loja WooCommerce típica usa muitas extensões: métodos de pagamento, etiquetas de expedição, emissão de faturas, ligações a marketplaces, plugins de avaliações e de marketing. Cada uma é código adicional com falhas próprias e, muitas vezes, com acessos próprios a serviços externos. Mantenha a lista curta e remova instalações de teste de métodos de pagamento antigos.
Uma atualização do WooCommerce ou do WordPress corrige falhas conhecidas nestes componentes. Não repara o PHP, não remove ficheiros alheios fora da pasta de plugins e não apaga entradas da base de dados, como chaves de API ou webhooks. Como reconhecer se já aconteceu alguma coisa, descreve-o Já fui comprometido?.
Se a atualização do PHP ainda estiver pendente no fornecedor de alojamento, um filtro à frente do servidor pode ganhar tempo. Não substitui o patch; mais sobre isto em WAF e virtual patching.
Deveres em caso de incidente na loja
Se se perderem dados pessoais de clientes, pode ser necessária uma notificação à autoridade de proteção de dados no prazo de 72 horas. Esta é informação geral, não aconselhamento jurídico. Envolva cedo o seu encarregado de proteção de dados e leia a nossa síntese sobre o dever de notificação do RGPD. Respeite também as regras dos seus prestadores de pagamento para incidentes de segurança.
Após cada intervenção, teste uma encomenda completa com todos os métodos de pagamento que oferece. Esteja atento a passos intermédios invulgares, campos de introdução adicionais ou redirecionamentos para domínios alheios. As ferramentas de programador do navegador mostram que scripts são carregados e de que endereços; fontes desconhecidas na página de pagamento são um sinal de alerta. Documente o teste com data e resultado.
Como ajuda concretamente a PHP SOS?
- Esclarecemos com o seu fornecedor de alojamento o estado do patch do PHP e fazemos confirmar o reinício de todos os processos PHP.
- Guardamos registos, base de dados e ficheiros antes de alterarmos o que quer que seja.
- Verificamos os templates do checkout, os plugins de pagamento, as chaves da API REST, os webhooks e as funções dos utilizadores.
- Em caso de descobertas, limpamos a loja, renovamos os acessos consigo e documentamos o processo para a proteção de dados e para o seguro.
Perguntas frequentes
Os dados de cartões de crédito no WooCommerce estão em risco por causa do PHP2Shell?
Depende de como o prestador de pagamento está integrado. Se os cartões forem introduzidos num formulário do prestador, normalmente não ficam na loja. No entanto, um atacante com acesso ao servidor pode alterar o checkout de forma a capturar os dados antes do envio.
Onde vejo a versão do PHP no WooCommerce?
Em WooCommerce > Estado, na secção do ambiente do servidor. O número indica a versão com que a loja corre. Não permite saber se foi aplicado um backport; isso tem de ser confirmado pelo fornecedor de alojamento.
Porque devo verificar os webhooks do WooCommerce?
Os webhooks enviam dados para um endereço registado quando ocorrem eventos como novas encomendas. Um webhook criado às escondidas pode enviar dados de encomendas para terceiros de forma permanente, mesmo depois de o PHP ter recebido o patch.
Tenho de informar os prestadores de pagamento em caso de suspeita?
Perante uma suspeita fundamentada, deve renovar as chaves de API junto do prestador e respeitar as suas regras para incidentes de segurança. Se existem deveres de notificação, esclareça-o com o seu encarregado de proteção de dados ou advogado.