5 vulnerabilidades do PHP em 2025 e como protegê-las

Os patches do php2shell (CVE-2026-109618 e CVE-2026-109619) para o PHP em fim de vida (EOL) já estão disponíveis. Como as respostas do atendimento de vendas estão mais demoradas do que o normal devido à alta demanda, a maneira mais rápida de obter os pacotes corrigidos é adquirir o ELS para Runtimes on-line (abre em uma nova aba). Leia as perguntas frequentes sobre os patches

Vá direto para um resumo gerado por IA desta postagem do blog

  • Resuma esta postagem com o Perplexity
  • Resuma esta postagem com o Gemini

Principais conclusões

  • Detecte proativamente vulnerabilidades do PHP por meio de scanners, auditorias de código e ferramentas de análise estática para se antecipar às ameaças em constante evolução em ambientes Linux.
  • Proteja sua pilha de PHP com configurações reforçadas do arquivo php.ini, dependências atualizadas regularmente e o uso consistente de práticas seguras de programação.
  • Suporte de ciclo de vida ilimitado da TuxCare para PHP mantém versões desatualizadas, como o PHP 7.4, seguras por meio de correções contínuas — sem comprometer a compatibilidade.

O PHP é uma linguagem de script de código aberto e de uso geral, utilizada principalmente para desenvolvimento web. Em 2025, continua sendo uma das tecnologias mais visadas, figurando consistentemente entre os principais projetos de software em número de vulnerabilidades CVE. Se seus servidores dependem de aplicativos em PHP e você não está mantendo-se em dia com os patches de segurança, pode estar deixando a porta aberta para invasores.

Nesta postagem, vamos analisar as vulnerabilidades mais comuns do PHP — incluindo execução remota de código, injeção de SQL e configurações inseguras — e apresentar estratégias práticas para ajudá-lo a mitigá-las de forma eficaz.

5 Vulnerabilidades comuns do PHP

Mesmo em 2025, os aplicativos em PHP continuam enfrentando ameaças de segurança já conhecidas, mas em constante evolução. Os invasores frequentemente exploram vulnerabilidades no tratamento de entradas, no gerenciamento de sessões e na execução de código para comprometer os sistemas. Se você não estiver lidando diretamente com essas questões, seu sistema estará exposto.

1. Execução remota de código (RCE)

Os invasores exploram funções como eval(), system(), ou o envio de arquivos não validados para executar código arbitrário no seu servidor. Execução remota de código costuma ser combinado com ataques à cadeia de suprimentos por meio do uso de pacotes maliciosos do Composer. Portanto, o monitoramento proativo de suas dependências é fundamental.

Mitigação: Desative funções perigosas do PHP usando o disable_functions diretiva no arquivo php.ini, validar rigorosamente todas as entradas e implementar um processamento robusto de upload de arquivos, incluindo verificação antivírus e validação rigorosa do tipo MIME.

2. Injeção de SQL

Apesar de ser um ataque antigo e bem conhecido, a injeção de SQL continua presente em aplicativos legados ou nos casos em que os desenvolvedores deixam de utilizar instruções preparadas. Variantes modernas exploram ORMs como o Eloquent ou o Doctrine quando utilizados de forma inadequada.

Medidas de mitigação: Sempre utilize consultas parametrizadas com PDO ou MySQLi. Evite a interpolação de strings em operações com bancos de dados. Habilite o registro de eventos do banco de dados e a proteção por Firewall de Aplicativos Web (WAF) para detectar padrões incomuns.

3. Cross-Site Scripting (XSS)

O XSS continua sendo uma ameaça em áreas de conteúdo gerado por usuários, como comentários ou perfis. Os invasores injetam código JavaScript malicioso para sequestrar sessões ou roubar dados.

Mitigação: Utilize funções robustas de codificação de saída, como htmlspecialchars() e implementar uma Política de Segurança de Conteúdo (CSP) rigorosa para controlar os recursos permitidos. Limpar as entradas usando funções de filtragem do PHP ou frameworks como o mecanismo de validação do Laravel.

4. Ataques por inclusão de arquivos

Uso inseguro de include, require, ou caminhos dinâmicos de arquivos, levam à inclusão de arquivos locais (LFI) ou à inclusão de arquivos remotos (RFI). Os invasores utilizam essas vulnerabilidades para ler arquivos do sistema ou executar backdoors.

Mitigação: Evite totalmente a inclusão dinâmica de arquivos com base em dados fornecidos pelo usuário. Se a inclusão dinâmica for absolutamente necessária, implemente uma lista de permissões rigorosa dos arquivos permitidos. Desative allow_url_include no arquivo php.ini e definir as restrições de diretório adequadas com open_basedir.

5. Desvio de sessão

O gerenciamento padrão de sessões do PHP fica vulnerável caso os IDs de sessão sejam divulgados ou previsíveis. Os invasores se aproveitam disso para se passar por usuários, especialmente se as sessões não forem criptografadas ou tiverem prazo de validade.

Mitigação: Forçar HTTPS para todos os cookies de sessão, definir session.cookie_httponly=1, regenerar os IDs de sessão após o login, armazenar as sessões fora da raiz do site com permissões seguras e considerar o uso de mecanismos de armazenamento de sessão mais robustos, além do armazenamento padrão baseado em arquivos, caso a escalabilidade e a segurança sejam fundamentais.

Por que as vulnerabilidades do PHP são perigosas?

As vulnerabilidades do PHP podem conceder aos invasores acesso direto ao núcleo do seu sistema. Um único ponto fraco — como um upload de arquivo mal gerenciado ou uma entrada de usuário não sanitizada — pode resultar no comprometimento total do servidor, no roubo de dados ou na injeção de malware. E como os aplicativos PHP costumam ser executados com privilégios elevados, os danos podem se espalhar rapidamente por toda a sua infraestrutura.

Em 2025, o PHP ainda será a base de plataformas CMS amplamente utilizadas, como WordPress, Joomla e aplicativos corporativos personalizados. Isso o torna um alvo de grande valor. É importante ressaltar que, muitas vezes, os invasores nem precisam violar o perímetro da sua rede; um aplicativo PHP acessível ao público com uma falha explorável funciona como uma porta aberta.

Uma única vulnerabilidade no PHP pode se tornar uma porta de entrada para todo o seu ambiente. Se você não estiver protegendo e verificando proativamente sua pilha de PHP, basta uma única solicitação maliciosa para que ocorra uma violação.

Como detectar vulnerabilidades do PHP no seu sistema

Os métodos a seguir podem ajudá-lo a identificar vulnerabilidades do PHP em seu sistema antes que invasores as explorem:

Ferramentas de análise estática de código

Utilize ferramentas como o PHPStan, o SonarQube (para recursos de análise estática) ou o RIPS Code Analysis para examinar seu código PHP sem executá-lo. Essas ferramentas identificam funções inseguras, padrões de codificação vulneráveis e possíveis erros de configuração que poderiam levar a vulnerabilidades.

Auditorias de embalagens

Correr composer audit regularmente para verificar se há vulnerabilidades de segurança conhecidas nas dependências do seu projeto relacionadas aos pacotes PHP que você está utilizando.

Inspeção de logs e detecção de anomalias

Analise os logs de erros do seu servidor web e do PHP em busca de atividades incomuns, como erros excessivos relacionados a scripts específicos do PHP, tentativas de acesso a arquivos inexistentes ou solicitações POST suspeitas. Ferramentas como o Fail2Ban podem bloquear automaticamente endereços IP maliciosos com base em padrões detectados.

Revisão do manual

Inspecione manualmente os arquivos de configuração críticos (por exemplo, config.php, .env) em busca de credenciais expostas ou informações confidenciais. Analise cuidadosamente o tratamento das entradas do usuário em scripts como manipuladores de upload e a lógica de processamento de formulários, pois esses são alvos frequentes de vulnerabilidades de injeção e operações inseguras com arquivos.

Além disso, implemente verificações automáticas regulares — de preferência semanais — por meio de pipelines de CI/CD ou tarefas cron. Isso garante o monitoramento contínuo e a detecção precoce de vulnerabilidades recém-introduzidas, sem intervenção manual, reduzindo assim a janela de oportunidade para os invasores.

Verifique os alertas do CVE

A maioria das distribuições Linux mantém ativamente páginas de alertas ou listas de discussão do CVE (Common Vulnerabilities and Exposures). Esses recursos monitoram as vulnerabilidades que afetam os pacotes da distribuição, incluindo o PHP e bibliotecas relacionadas.

Acompanhar regularmente esses alertas pode alertá-lo sobre possíveis vulnerabilidades no nível do sistema que poderiam afetar suas aplicações PHP. Muitas vezes, é possível encontrar informações sobre como verificar se os pacotes instalados foram afetados e como aplicar as atualizações ou patches necessários fornecidos pela sua distribuição.

No caso do Ubuntu, você pode consultar a página de Avisos de Segurança do Ubuntu. Para sistemas baseados no Red Hat, consulte os Alertas de Segurança da Red Hat.

Como se proteger contra vulnerabilidades do PHP

Aplique sempre as atualizações de segurança mais recentes do PHP

Para as versões do PHP com suporte (como a 8.x), a maneira mais fácil e eficaz de lidar com vulnerabilidades conhecidas é manter-se atualizado. A equipe do PHP lança patches com frequência para corrigir falhas de segurança — algumas das quais estão sendo ativamente exploradas na prática.

Utilize o Suporte de Ciclo de Vida Ilimitado da TuxCare para PHP

Muitos aplicativos legados ainda dependem de versões em fim de vida útil (EOL), como o PHP 7.4 ou até mesmo o 5.6 — geralmente devido a problemas de compatibilidade ou complexidades de migração. No entanto, essas versões sem suporte não recebem mais atualizações críticas de segurança, o que as deixa vulneráveis a ataques.

O Suporte de Ciclo de Vida Ilimitado (ELS) da TuxCare oferece patches de segurança contínuos para versões desatualizadas do PHP, sem exigir alterações no código ou atualizações de versão que envolvam riscos. Isso significa que você pode proteger suas aplicações PHP legadas, mantendo a estabilidade no ambiente de produção.

Disponível tanto para Linux quanto para Windows, o TuxCare oferece suporte a:

Versõesdo PHP com fim de vida útil (EOL): PHP 5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4 e 8.0.

Versões atuais do PHP: PHP 8.1, 8.2 (cujo fim de vida útil está previsto para 31 de dezembro de 2026) e 8.3, por meio de um repositório seguro e centralizado.

Isso permite que você mantenha os sistemas legados com segurança e planeje atualizações de acordo com sua programação — sem comprometer a segurança.

Confira a página de CVEs da TuxCare para explorar todas as vulnerabilidades conhecidas do PHP e verificar a disponibilidade de correções.

Mantenha as bibliotecas e dependências atualizadas

Bibliotecas e dependências desatualizadas do PHP representam uma ameaça silenciosa; os invasores costumam explorar vulnerabilidades conhecidas em pacotes populares.

Use a auditoria integrada do Composer:

auditoria de compositores

Em seguida, atualize com:

atualização do Composer

Habilite atualizações automáticas de dependências usando ferramentas como o Dependabot ou o Renovate. Além disso, congele versões comprovadamente confiáveis em composer.lock para evitar comportamentos inesperados durante as implantações.

Aplicar padrões de programação segura

As bases de código em PHP devem seguir práticas modernas de segurança por padrão. Isso inclui:

  • Utilize instruções preparadas para consultas ao banco de dados a fim de evitar ataques de SQLi.
  • Sanitize todas as entradas e aplique escape em todas as saídas para impedir ataques XSS.
  • Evitar funções obsoletas ou perigosas, como eval() e create_function().
  • Implemente tokens CSRF em todos os formulários para evitar a falsificação de solicitações entre sites.

Monitorar, registrar e responder a ameaças em tempo real

A segurança não é uma configuração feita uma única vez — trata-se de um gerenciamento contínuo de vulnerabilidades. Mantenha seu ambiente sob vigilância o tempo todo.

  • Implemente um firewall de aplicativos da Web (WAF), como o ModSecurity ou uma solução baseada em nuvem.
  • Use o Fail2Ban para bloquear tentativas de login por força bruta.
  • Monitore os logs com ferramentas como Logwatch, Graylog ou ELK Stack.
  • Configure alertas para comportamentos incomuns (por exemplo, picos nos erros HTTP 500, tentativas de login incomuns, envios inesperados de arquivos).

Fique um passo à frente das vulnerabilidades do PHP com a TuxCare

As vulnerabilidades do PHP não vão desaparecer — e, se você ainda estiver usando versões antigas, como o PHP 7.4 ou anteriores, não basta ter boas intenções. Você precisa de atualizações de segurança contínuas que não prejudiquem sua pilha de tecnologia.

O Suporte de Ciclo de Vida Ilimitado da TuxCare para PHP oferece exatamente isso: atualizações de segurança prolongadas para versões do PHP que chegaram ao fim da vida útil, para que você possa permanecer protegido enquanto planeja as atualizações no seu próprio ritmo.

Não espere que a próxima vulnerabilidade CVE afete o ambiente de produção — agora é a hora de agir. Fale com nossos especialistas em segurança para saber como a TuxCare protege versões desatualizadas do PHP ou confira nosso artigo sobre os riscos de utilizar software fora do ciclo de vida.

Resumo
5 vulnerabilidades do PHP em 2025 e como protegê-las
Nome do artigo
5 vulnerabilidades do PHP em 2025 e como protegê-las
Descrição
Sua aplicação em PHP é segura? Conheça as vulnerabilidades comuns do PHP, seus riscos e as melhores práticas para se proteger contra ataques.
Autor
Nome da editora
TuxCare
Logotipo da editora

Junte-se a mais de 4.500 profissionais de Linux e código aberto!

2 vezes por mês. Sem spam.

Índice
Obtenha as respostas sobre segurança de código aberto de que você precisa

Junte-se a mais de 4.500 profissionais de Linux e código aberto!

2 vezes por mês. Sem spam.