# Vulnerabilidade Joomla PHP2Shell: proteger sites Joomla

> Proteger o Joomla após o PHP2Shell: verificar a versão do PHP nas informações do sistema, proteger o configuration.php e rever Super Users e extensões.

Fonte: https://phpsos.de/pt/plattformen/joomla/  
Atualizado em: 25/10/2026  
Prestador: PHP SOS, Assistência de emergência PHP e segurança de servidores. Ajuda imediata por WhatsApp: https://wa.me/491736494914?text=Ol%C3%A1%2C%20PHP%20SOS%2C%20precisamos%20de%20ajuda%20com%20o%20nosso%20servidor%20PHP.%20Empresa%3A%20%E2%80%A6%20Site%3A%20%E2%80%A6

**Em resumo:** a vulnerabilidade do Joomla de que agora se fala chama-se PHP2Shell e está no PHP do servidor, não no Joomla. Uma atualização do Joomla não a corrige. Depois do patch do PHP e do reinício, deve verificar `configuration.php`, os overrides de templates, as extensões e a lista de Super Users.

## O que o PHP2Shell significa para o Joomla

O Joomla é um CMS em PHP e herda toda a fragilidade do PHP que lhe serve de base. Segundo a equipa do PHP, as vulnerabilidades CVE-2026-109618 e CVE-2026-109619 permitem executar código malicioso sem autenticação. Estão afetados os modos de operação habituais PHP-FPM, Apache com mod_php, php-cgi, FrankenPHP e LiteSpeed.

Sobretudo os sites Joomla mais pequenos de associações, oficinas e federações correm muitas vezes em alojamento partilhado e raramente são mantidos. Aí, a atualização do PHP cabe ao fornecedor de alojamento. A sua tarefa é perguntar o estado e verificar o site quanto a vestígios. Que versões estão afetadas, mostra-o [Que versões do PHP estão afetadas?](https://phpsos.de/pt/php2shell/betroffene-php-versionen/).

## Vulnerabilidade Joomla: verificar a versão do PHP

Na área de administração, **Sistema > Informação do sistema** mostra a versão do PHP e as principais definições do PHP. Essa é a versão com que o Joomla realmente corre na web. As versões upstream corrigidas são 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Se o Joomla mostrar um número mais antigo, pode ainda assim ter sido aplicado um backport; isso tem de ser confirmado pelo seu fornecedor de alojamento.

Em alojamento partilhado, a versão do PHP pode muitas vezes ser alterada por domínio no menu de cliente do fornecedor. Isso só alterna, porém, entre as versões que o fornecedor disponibiliza; se estas têm o patch aplicado, é o fornecedor que decide. Uma mudança para uma versão principal mais recente pode ainda assim fazer sentido, se a sua versão do Joomla e todas as extensões a suportarem. Teste-o antes, pois as extensões mais antigas falham frequentemente com mensagens de erro em versões mais recentes do PHP.

O próprio Joomla indica requisitos mínimos de PHP por versão principal. Quais as versões do PHP que a sua versão do Joomla suporta, verifique-o nos requisitos de sistema em joomla.org. Em versões muito antigas do Joomla, uma mudança de PHP pode exigir primeiro uma atualização do Joomla.

## Esconderijos típicos de código malicioso no Joomla

| Local | Conteúdo | O que observar |
|---|---|---|
| `configuration.php` | Acesso à base de dados, `$secret`, caminhos de registos e temporários | Data de alteração, código inserido |
| `images/`, `media/` | Imagens e multimédia | Ficheiros PHP são suspeitos |
| `tmp/` | Ficheiros temporários, também de instalações | Restos de pacotes alheios |
| `templates/<name>/html/` | Overrides de templates com código PHP | Overrides desconhecidos ou alterados |
| `plugins/system/` | Plugins de sistema que carregam em cada pedido | Plugins desconhecidos |
| `administrator/logs/` | Registos | Guardar antes de alterações |
| `.htaccess` | Redirecionamentos, regras de rewrite | Redirecionamentos apenas para motores de busca |

Os plugins de sistema são particularmente apreciados, porque são executados em cada acesso a uma página. Um plugin desconhecido nesta pasta deve ser sempre algo que consiga explicar.

Verificações inofensivas na linha de comandos (o Joomla 4 e posteriores trazem consola própria):

```bash
# Ficheiros PHP nas pastas de multimédia e temporárias
find images media tmp -type f -name "*.php"
# Listar utilizadores e extensões
php cli/joomla.php user:list
php cli/joomla.php extension:list
```

> **Importante:**
> Se o seu site Joomla redireciona visitantes vindos do Google para páginas alheias ou se o Google mostra um aviso, o servidor está muito provavelmente já comprometido. Nesse caso, uma atualização não basta; é necessária uma limpeza e, depois, uma revisão no Search Console.

## Acesso de administrador e extensões

A área de administração fica em `/administrator`. Verifique o grupo de utilizadores «Super Users» quanto a contas desconhecidas e a contas de antigos prestadores de serviços. Ative a autenticação de dois fatores que o Joomla traz de origem e use contas pessoais em vez de partilhadas.

Em muitos sites, as extensões do Joomla Extensions Directory e de terceiros são numerosas: formulários, galerias, construtores de páginas, newsletters. Cada uma traz código PHP próprio e, muitas vezes, funções de upload próprias. As extensões cujo fornecedor já não entrega atualizações são um risco permanente e dificultam qualquer atualização do PHP. Desinstale por completo o que não usa.

## O que uma atualização do Joomla consegue e o que não consegue

Uma atualização do Joomla substitui os ficheiros do núcleo e corrige falhas conhecidas no Joomla. Não aplica patch ao PHP, não toca nos overrides de templates nem nas extensões de terceiros e não remove ficheiros que não pertencem ao núcleo. Também as entradas da base de dados, como novos Super Users, permanecem.

Se o seu site já foi alterado, ajuda o procedimento em [Site pirateado? Ajuda de emergência remota](https://phpsos.de/pt/leistungen/website-gehackt-notfallhilfe/). Para a procura de backdoors vale a pena o guia [Reconhecer e remover webshells](https://phpsos.de/pt/ratgeber/webshell-erkennen/).

Se o seu site Joomla foi configurado por uma agência ou por um freelancer, pergunte-lhes que extensões e templates foram adaptados individualmente. Os ficheiros adaptados não se podem simplesmente comparar com o pacote original e exigem uma verificação individual.

## Como ajuda concretamente a PHP SOS?

- Consultamos o estado do PHP junto do seu fornecedor de alojamento ou verificamo-lo no seu servidor, incluindo o reinício.
- Guardamos registos, ficheiros e base de dados antes de qualquer alteração.
- Comparamos o núcleo com o pacote original e verificamos overrides, plugins de sistema, pastas de multimédia e Super Users.
- Em caso de descobertas, limpamos o site, renovamos acessos e acompanhamos a remoção de avisos do Google.


## Perguntas frequentes

**O Joomla é afetado pelo PHP2Shell?**  
O Joomla em si não tem uma nova vulnerabilidade, mas corre em PHP. Se o PHP do servidor não tiver o patch aplicado, um atacante pode, segundo a equipa do PHP, executar código sem autenticação. Uma atualização do Joomla não altera isso.

**Onde encontro a versão do PHP no Joomla?**  
Na área de administração, em Sistema > Informação do sistema. Aí vê também as definições do PHP. Pelo número não se reconhece se foi aplicado um backport; isso tem de ser confirmado pelo seu fornecedor de alojamento.

**Porque são os overrides de templates um risco?**  
Os overrides ficam na pasta do template e contêm código PHP que substitui a saída de componentes e módulos. O código introduzido passa aí quase despercebido, porque os overrides não são substituídos nas atualizações do Joomla.

## Fontes

- [php.net: avisos de segurança](https://www.php.net/)
- [Joomla](https://www.joomla.org/)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [Ajuda do Google Search Console](https://support.google.com/webmasters/)
