Situação atual: PHP2Shell. Duas vulnerabilidades críticas do PHP (CVSS 9,2) permitem executar código malicioso sem autenticação. Patches disponíveis desde 21/10/2026.O que fazer agora →

Segurança Contao após o PHP2Shell: como proteger corretamente os sites

O Contao corre em PHP e Symfony. Após o PHP2Shell contam o patch do PHP para web e linha de comandos, o Contao Manager protegido e uma vista de olhos a files e templates.

Atualizado em 5 min de leituraPlataformas

Em resumo: com o PHP2Shell, a segurança do Contao depende do PHP do servidor, não do Contao. Assegure-se de que tanto o PHP web como o PHP da linha de comandos do Contao Manager têm o patch aplicado. Depois, verifique .env, templates próprios, a pasta files e os acessos ao backend e ao Manager.

Contao e PHP2Shell: do que se trata

O Contao é um CMS difundido no espaço de língua alemã que, desde a versão 4, assenta na framework Symfony. Segundo a equipa do PHP, as vulnerabilidades PHP CVE-2026-109618 e CVE-2026-109619 permitem executar código malicioso remotamente sem autenticação. Afetam o próprio PHP e, portanto, também qualquer instalação Contao num servidor sem patch.

Muitos sites Contao pertencem a empresas médias, associações e municípios e são mantidos por agências. Esclareça, por isso, primeiro quem é responsável pelo PHP: o fornecedor de alojamento, a agência ou a sua própria equipa de TI.

Um equívoco frequente diz respeito ao modo de manutenção. O Contao pode bloquear um site para os visitantes, mas esse bloqueio é ele próprio entregue pelo PHP. Cada pedido continua, portanto, a chegar ao interpretador PHP. Por isso, o modo de manutenção não protege contra o PHP2Shell. Quando o BSI (Gabinete Federal Alemão para a Segurança da Informação) recomenda retirar os servidores web da rede até à atualização, refere-se a um bloqueio ao nível do servidor ou do alojamento, não a uma definição no CMS.

A segurança do Contao começa com duas versões do PHP

O Contao usa o PHP de duas formas. O servidor web processa os acessos às páginas normalmente via PHP-FPM. O Contao Manager e a consola do Contao trabalham além disso com um PHP de linha de comandos, por exemplo para instalações, atualizações e tarefas cron. Em pacotes de alojamento com várias versões do PHP, podem ser dois programas diferentes.

O Contao Manager mostra, na sua configuração do servidor, que ficheiro de programa PHP utiliza. A versão web vê-a no painel de alojamento. As versões upstream corrigidas são 8.5.12, 8.4.27, 8.3.36 e 8.2.35; os backports podem ter números mais antigos. Ambos os caminhos têm de ter o patch aplicado e todos os processos têm de estar reiniciados. Quais as versões do PHP que a sua versão do Contao suporta, verifique-o nos requisitos de sistema em contao.org. Mais sobre a verificação em Verificar corretamente a versão e o estado do patch do PHP.

Pastas e ficheiros no Contao

Local Conteúdo Ponto de verificação
.env, .env.local Acesso à base de dados, APP_SECRET Renovar em caso de suspeita
config/config.yaml Configuração da instalação Alterações inesperadas
public/ (versões mais antigas web/) Raiz de documentos com index.php, ficheiro do Contao Manager, assets Ficheiros PHP adicionais
files/ Gestão de ficheiros dos editores Sem ficheiros PHP
templates/ Templates próprios, classicamente como .html5 com PHP Templates desconhecidos ou alterados
system/config/localconfig.php Definições mais antigas Código inserido
var/ Cache e registos Guardar registos, regenerar a cache

Precisamente a pasta templates/ é subestimada: os templates clássicos do Contao com a extensão .html5 são ficheiros PHP. Um comando inserido num template próprio é executado em cada acesso a uma página e sobrevive às atualizações do Contao.

Primeiras verificações inofensivas:

# Ficheiros PHP na gestão de ficheiros
find files -type f -name "*.php"
# Templates alterados desde 17/10/2026
find templates -type f -newermt "2026-10-17"
# Verificar os comandos Contao disponíveis e as dependências
vendor/bin/contao-console list contao
composer audit
Importante

O Contao Manager pode instalar pacotes e, com isso, levar código arbitrário para o servidor. Perante uma suspeita, verifique as suas contas de utilizador, atribua novas palavras-passe e remova os acessos de antigos prestadores de serviços.

Backend, Manager e extensões

O backend fica em /contao. Verifique os utilizadores com direitos de administrador e os grupos de utilizadores com direitos abrangentes, por exemplo sobre a gestão de ficheiros, templates ou a gestão de utilizadores. O Contao traz autenticação de dois fatores; use-a para todas as contas com direitos elevados.

As extensões são instaladas por Composer ou através do Contao Manager. Cada uma traz código PHP, e as extensões mais antigas sem manutenção travam as atualizações do PHP. Em servidores com vários sites, cada instalação deve correr em separado, para que um incidente não passe para os sites vizinhos; mais sobre isto em open_basedir e isolamento por site.

O que uma atualização do Contao consegue e o que não consegue

Uma atualização do Contao através do Manager ou do Composer corrige falhas conhecidas no Contao e nas extensões. Não aplica patch ao PHP e não reinicia nem o PHP-FPM nem os processos em segundo plano. Os templates próprios, os ficheiros em files/ e as contas de utilizador alheias permanecem inalterados. Após uma mudança da versão principal do PHP, deve regenerar-se a cache e testar o site num ambiente de teste.

Em sites com muitos editores, vale a pena, depois do patch, olhar para os direitos no backend. Quem pode editar templates pode depositar código PHP nos templates clássicos .html5. Esta permissão deve ficar apenas nas mãos de poucas pessoas com conhecimentos técnicos. O mesmo vale para o acesso à gestão de ficheiros com direitos de upload para pastas acessíveis publicamente.

Como ajuda concretamente a PHP SOS?

  • Apuramos o PHP web e o PHP CLI da sua instalação Contao e fazemos confirmar o patch e o reinício.
  • Guardamos registos, ficheiros e base de dados antes de alterarmos o que quer que seja.
  • Verificamos templates, files/, a raiz de documentos e as contas do backend e do Manager.
  • A mudança do PHP com comprovativo é assegurada, a pedido, pelo nosso serviço de patch PHP, em articulação com a sua agência.

Perguntas frequentes

O Contao é afetado pelo PHP2Shell?

O Contao em si não tem uma nova vulnerabilidade. Mas, se o site correr num PHP sem patch, é vulnerável como qualquer aplicação PHP. Uma atualização do Contao não corrige a vulnerabilidade do PHP.

Porque é o Contao Manager relevante para a segurança?

O Contao Manager pode instalar, atualizar e remover pacotes. Quem tem acesso a ele pode introduzir código arbitrário. O acesso exige, por isso, uma palavra-passe forte e poucas pessoas autorizadas.

Os templates do Contao contêm código PHP?

Os templates clássicos com a extensão .html5 são templates PHP. Os templates próprios na pasta templates podem, por isso, conter PHP. Deve conseguir explicar templates desconhecidos ou alterados recentemente.

Fontes

Contacto imediato

Cada hora conta. Escreva-nos agora.

Descreva brevemente o sistema, a versão do PHP e o que observou. Entramos em contacto consigo, esclarecemos a situação e trabalhamos remotamente até o incidente estar concluído e documentado.

Ajuda imediata