Em resumo: Uma grande parte dos sistemas de gestão de conteúdos (CMS) e de loja mais difundidos está escrita em PHP, entre eles o WordPress com WooCommerce, o TYPO3, o Joomla, o Drupal, o Contao, o Shopware, o Magento ou Adobe Commerce e o PrestaShop. A isso juntam-se aplicações internas como o Nextcloud, o Moodle, o MediaWiki e o Matomo. Quem opera um destes sistemas está afetado por falhas no interpretador PHP como o PHP2Shell, por muito atualizado que esteja o próprio CMS.
Porque é que tantos sites correm em PHP
O PHP está talhado para servidores web desde a década de 1990 e está disponível em praticamente todos os alojadores. Um CMS em PHP pode por isso ser operado sem infraestrutura de servidor própria, o que foi e é atraente sobretudo para pequenas e médias empresas, associações e organismos públicos.
Para os operadores, isto significa: o site não é apenas «WordPress» ou «Shopware», mas uma pilha de várias camadas. Em baixo corre o sistema operativo, por cima o servidor web, depois o interpretador PHP e, no topo, o CMS com extensões. Cada camada precisa de atualizações próprias. Uma falha no PHP atinge todos os sistemas que nele assentam.
A isso acrescem as extensões: plugins, temas, módulos e interfaces de loja são igualmente código PHP, muitas vezes de pequenos fornecedores. Correm com as mesmas permissões que o CMS e são executados pelo mesmo ambiente de execução PHP. Um CMS com muitas extensões tem, por isso, uma superfície de ataque maior do que uma instalação enxuta, mesmo que o núcleo esteja atualizado.
Aqui deixamos de lado números sobre a difusão de cada sistema. Não existe uma fonte que consideremos fiável e comparável para isso.
CMS e sistemas de loja em PHP mais difundidos
A tabela indica sistemas conhecidos e o que os próprios fabricantes dizem sobre a sua base técnica. Não indicamos deliberadamente requisitos de versão, porque mudam a cada lançamento.
| Sistema | Tipo | Nota sobre a base técnica |
|---|---|---|
| WordPress, WooCommerce | CMS, extensão de loja | aplicação PHP, MySQL ou MariaDB segundo os requisitos |
| TYPO3 | CMS | precisa, segundo a documentação, de servidor web, PHP e base de dados SQL |
| Joomla | CMS | PHP com MySQL, MariaDB ou PostgreSQL |
| Drupal | CMS | PHP; extensões do núcleo em core/composer.json |
| Contao | CMS | segundo o fabricante, sobre o framework full-stack Symfony |
| Craft CMS | CMS | o fabricante refere o Yii entre as ferramentas utilizadas |
| Shopware 6 | Loja | a documentação para programadores trata os plugins como bundles do Symfony |
| Magento Open Source, Adobe Commerce | Loja | PHP e Composer nos requisitos de sistema |
| PrestaShop | Loja | PHP com tabela de compatibilidade própria |
| Nextcloud | Armazenamento de ficheiros | Apache com mod_php ou PHP-FPM, Nginx com PHP-FPM |
| Moodle | Plataforma de aprendizagem | segundo a documentação, desenvolvido em PHP |
| MediaWiki, Matomo | Wiki, estatísticas | PHP segundo os requisitos de instalação |
Muitos destes sistemas usam internamente componentes de frameworks PHP e carregam bibliotecas através do Composer. Para a maioria temos páginas próprias com indicações de proteção, por exemplo WordPress, Shopware 6 e TYPO3.
Como descobrir se o meu site corre em PHP?
Muitas empresas não sabem ao certo que sistemas correm nas suas instalações, sobretudo quando uma agência construiu o site. Estes passos trazem clareza:
- Criar um inventário: Listar todos os domínios, subdomínios e interfaces web internas, também sistemas de teste e antigas páginas de campanhas.
- Perguntar ao alojador ou à agência: Que sistema, que versão do PHP, que modo de operação (PHP-FPM, mod_php, LiteSpeed)? Peça uma resposta por escrito.
- Ver o painel de alojamento: No Plesk, cPanel e interfaces semelhantes consta a versão do PHP por site. Tenha em conta que os backports da distribuição não alteram o número apresentado.
- Verificar no servidor: Os administradores veem, pelos processos e pela configuração do servidor web, que ambiente de execução PHP realmente entrega.
- Não esquecer os equipamentos: Sistemas NAS, routers e appliances têm muitas vezes uma interface web que também pode correr em PHP.
# No servidor: que processos PHP estão a correr?
ps -eo user,cmd | grep -E 'php-fpm|lsphp|php-cgi|frankenphp' | grep -v grep
Levar a sério os requisitos de sistema
Cada fabricante publica com que versões do PHP o seu software está testado. Estas indicações são a base de qualquer planeamento de atualizações: uma atualização do PHP para uma versão que o CMS ainda não suporta pode paralisar o site. Um CMS que só corre com uma versão do PHP sem atualizações de segurança é um risco permanente.
Verifique por isso, segundo os requisitos de sistema do fabricante para a sua versão exata, que versões do PHP entram em consideração, e compare-as com as versões do PHP corrigidas. Para sistemas que só correm com PHP 8.1 ou anterior, o projeto PHP já não disponibiliza atualizações oficiais.
O que o PHP2Shell significa para operadores de CMS e lojas
O PHP2Shell compõe-se das vulnerabilidades CVE-2026-109618 e CVE-2026-109619 no interpretador PHP, ambas com CVSS 9,2. Permitem a execução de código malicioso sem autenticação. Estão corrigidas no PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Uma atualização do CMS não fecha estas falhas; porquê, explica-o o nosso artigo Porque é que uma atualização do WordPress não ajuda contra o PHP2Shell.
Para as lojas pesa de forma especial, porque aí estão dados de clientes, encomendas e credenciais de acesso a serviços de pagamento e de expedição. Além disso, um patch não remove software malicioso que tenha sido introduzido antes, nem prova que nada aconteceu.
Como ajuda concretamente a PHP SOS?
- Elaboramos um inventário dos seus sites baseados em PHP e aplicações internas, com sistema, versão do PHP e modo de operação.
- Comparamos os requisitos dos fabricantes com as versões do PHP corrigidas e planeamos a atualização por sistema.
- Aplicamos as atualizações do PHP, reiniciamos todos os processos e verificamos depois se o CMS e a loja funcionam corretamente.
- Em caso de suspeita de incidente, investigamos o sistema no âmbito da ajuda imediata PHP2Shell.
Perguntas frequentes
O WordPress corre em PHP?
Sim. O WordPress é uma aplicação PHP e, segundo os requisitos oficiais, precisa de PHP e de uma base de dados MySQL ou MariaDB. Assim, as falhas no interpretador PHP afetam também qualquer instalação do WordPress, independentemente do estado do próprio WordPress.
Uma atualização do CMS ajuda contra o PHP2Shell?
Não. A falha está no PHP, não no CMS. Segundo o drweb.de, o WordPress.org também não planeia por isso uma atualização própria contra ela. Só se fecha com uma versão do PHP corrigida e o reinício de todos os processos PHP.
Como descubro que versão do PHP a minha loja precisa?
Nos requisitos de sistema do fabricante para a sua versão concreta. Estas indicações mudam a cada lançamento maior, por isso deve consultá-las diretamente junto do fabricante e não aproveitá-las de guias mais antigos.
Também as aplicações internas são afetadas?
Sim, se correm em PHP. Armazenamento de ficheiros como o Nextcloud, plataformas de aprendizagem como o Moodle, wikis internas com MediaWiki ou o Matomo para estatísticas são aplicações PHP. Nos levantamentos, costumam ser esquecidas.
Um site sem .php no endereço não é PHP?
Não necessariamente. Os sistemas modernos encaminham todos os endereços através de um index.php central, pelo que o .php nunca aparece no URL. Só tem certeza olhando para o servidor ou obtendo informação do alojador ou da agência.