GUIA PRÁTICO / SEGURANÇA WEB

Vulnerabilidades no PHP.
O que corrigir e como se proteger.

Entenda os avisos, confira o seu ambiente e transforme uma atualização de segurança em uma rotina de proteção.

Defesa Digital · Conteúdo educativo30 de outubro de 2026Leitura de aproximadamente 9 min

Prioridade de outubro: o projeto PHP publicou correções para duas falhas críticas em 21/10/2026. Para instalações afetadas, atualizar é a solução completa. Este artigo reúne um recorte de avisos públicos; ele não verifica o seu servidor. Comunicado oficial ↗

01 / CONTEXTO

O risco depende da falha e do ambiente.

PHP é o software que executa muitas aplicações web no servidor. Uma vulnerabilidade nesse runtime, em uma extensão ou em uma dependência pode afetar o site mesmo quando o código da aplicação parece correto.

Já falhas de aplicação, como consultas SQL montadas de forma insegura ou saída HTML sem tratamento, precisam de correção no próprio código. Atualizar o runtime e desenvolver com segurança são cuidados complementares.

Um identificador CVE permite localizar uma falha específica. Um aviso GHSA é um comunicado de segurança publicado no GitHub. Nenhum dos dois, sozinho, confirma que seu sistema foi explorado.

02 / AVISOS DOCUMENTADOS

Quais falhas merecem atenção?

Selecione um ambiente para reduzir a lista. Os avisos gerais continuam aparecendo porque também exigem avaliação nesses cenários.

5 avisos exibidos. O filtro organiza conteúdo; não detecta vulnerabilidades.

CRÍTICA21 OUT 2026

CVE-2026-109618

Falha no tratamento de falta de memória

Em versões vulneráveis, uma falha de alocação pode interromper a inicialização de dados internos. O processamento posterior pode usar esse estado inválido e permitir execução remota de código.

Quem deve conferir: Instalações que atendem requisições web; a exposição depende do ambiente. O alerta do PHP inclui PHP-FPM e mod_php.

Como se proteger: Atualize para a versão corrigida da sua série e reinicie os processos que executam PHP. Medidas temporárias não corrigem a causa.

Ler aviso original ↗

CRÍTICA21 OUT 2026

CVE-2026-109619

Estado antigo reutilizado entre requisições

Um processo pode reter referências a memória já liberada de uma requisição anterior. O uso desse estado por uma nova requisição pode permitir execução remota de código.

Quem deve conferir: Serviços PHP que processam requisições web. O comportamento varia conforme o estado interno, a configuração e a aplicação.

Como se proteger: Instale as correções de outubro. Desligar a exibição de erros não corrige esta vulnerabilidade. Veja também o aviso adicional sobre sessões abaixo.

Ler aviso original ↗

DEPENDÊNCIA26 OUT 2026

CVE-2026-111497

Brotli nos pacotes Windows

Uma escrita fora dos limites no descompressor Brotli pode comprometer o processamento de dados. Nos builds Windows do PHP, a rota pode passar pela extensão cURL com descompressão automática ativada pela aplicação ou biblioteca.

Quem deve conferir: Pacotes Windows que incluem a dependência vulnerável e usam esse caminho. A descompressão automática não é o padrão do cURL.

Como se proteger: Use os pacotes Windows recompilados com sufixo -1 listados na tabela. Eles incluem Brotli 1.2.1; a versão do runtime PHP permanece igual.

Ler aviso original ↗

ALTA30 JUL 2026

GHSA-7qpv-r5mr-78m4

SQL injection na extensão PostgreSQL

Uma falha na conversão e no escape de parâmetros podia afetar pg_insert(), pg_update(), pg_select() e pg_delete() em determinadas configurações de strings do PostgreSQL.

Quem deve conferir: Aplicações que usam as funções e condições descritas no aviso. Isso não significa que toda consulta PostgreSQL esteja vulnerável.

Como se proteger: As primeiras correções foram 8.2.33, 8.3.33, 8.4.24 e 8.5.9. Para incluir as correções posteriores, use os alvos de outubro. Prefira consultas parametrizadas no código.

Ler aviso original ↗

HISTÓRICO · CRÍTICA06 JUN 2024

CVE-2024-4577

Injeção de argumentos no PHP-CGI

A interpretação de caracteres em determinadas páginas de código do Windows podia permitir que entradas fossem tratadas como opções do PHP-CGI, com possibilidade de execução de código.

Quem deve conferir: Apache com PHP-CGI no Windows nas condições do registro. Não se aplica automaticamente a uma instalação Linux com PHP-FPM.

Como se proteger: O conserto inicial saiu em 8.1.29, 8.2.20 e 8.3.8. São marcos históricos: atualize para uma série suportada e seu patch atual, considerando correções posteriores.

Ler aviso original ↗

03 / CORREÇÕES

Qual versão devo usar?

Os valores abaixo são os primeiros patches das séries suportadas que corrigem as duas falhas críticas de 21 de outubro. Prefira o patch estável mais recente disponível no seu canal oficial.

Recorte verificado em 30/10/2026 · versões oficiais do projeto PHP
SériePatch de outubroPacote Windows com BrotliSegurança até
PHP 8.28.2.358.2.35-131/12/2026
PHP 8.38.3.368.3.36-131/12/2027
PHP 8.48.4.278.4.27-131/12/2028
PHP 8.58.5.128.5.12-131/12/2029

O sufixo -1 identifica a recompilação do pacote Windows, não uma nova versão do runtime. Distribuições Linux podem aplicar correções por backport: confirme o boletim e a revisão do pacote do fornecedor, além de php -v. Calendário oficial de suporte ↗

Atenção adicional às sessões. Em 23/10, o PHP publicou uma orientação sobre um cenário incomum de execução remota associado à troca do serializador de sessão em tempo de execução. Como proteção temporária, recomenda session.upload_progress.enabled=0 até o próximo lançamento de correção. A combinação envolve php_binary ou php_serialize, troca para php antes de session_start() e progresso de upload ativado. Acompanhe o aviso CVE-2026-115560 e valide o impacto antes de alterar o recurso. Ver orientação do CTIR Gov ↗

PHP 8.1 e séries anteriores encerraram o suporte regular do projeto. Caso seu fornecedor ofereça manutenção estendida, confira a cobertura; planeje a migração para uma série suportada e compatível com a aplicação.

04 / DA DESCOBERTA À CORREÇÃO

Um plano de proteção em cinco passos.

  1. Descubra o que realmente está rodando. Liste os sites, versões, extensões e modo de execução: PHP-FPM, mod_php ou CGI. O PHP do terminal pode ser diferente do usado pelo servidor web.
  2. Confira o aviso aplicável. Compare plataforma, configuração e revisão do pacote com as condições do comunicado. Em hospedagem gerenciada, solicite ao provedor a confirmação das correções.
  3. Prepare e aplique a atualização. Confirme backup e recuperação, teste compatibilidade e aplique o pacote oficial ou do fornecedor. Se usa containers, reconstrua a imagem atualizada e publique-a.
  4. Reinicie e valide. Reinicie os processos PHP para carregar os binários e configurações novos. Confira a versão efetiva do serviço e teste login, sessões, uploads, tarefas agendadas e integrações.
  5. Acompanhe depois da mudança. Observe erros e comportamento inesperado. Registre versão instalada, data e evidência da correção. Defina uma rotina para acompanhar novos avisos.
TERMINAL · INVENTÁRIO
php -v
php --ini
php -m

Esses comandos consultam o PHP da linha de comando. Para o serviço web, use o painel administrativo ou a configuração do servidor; evite deixar uma página phpinfo() pública.

COMPOSER · NO DIRETÓRIO DO PROJETO
composer audit

O audit consulta avisos de dependências gerenciadas pelo Composer. Ele complementa a revisão do runtime e não substitui a verificação do PHP, do sistema operacional ou das extensões. Documentação do Composer ↗

05 / SEGURANÇA CONTÍNUA

Atualizar é essencial. O código também precisa de cuidado.

Consultas parametrizadas

Separe os valores recebidos das instruções SQL. Em PDO, prepare a consulta e envie os valores por parâmetros. Isso evita tratar o valor como parte do comando.

Manual do PDO ↗

Saída HTML com contexto

Para texto em HTML, use a codificação adequada. htmlspecialchars() converte caracteres especiais; ela não é uma proteção universal para JavaScript, CSS ou URLs.

Manual da função ↗

Erros fora da tela

Em produção, evite mostrar detalhes internos ao visitante e mantenha logs protegidos. Isso reduz exposição de informação, mas não corrige as falhas críticas do runtime.

Orientação sobre erros ↗

Sessões protegidas

Em sites HTTPS, use cookies Secure e HttpOnly. Avalie SameSite conforme o fluxo e ative o modo estrito de sessões. Teste integrações para evitar interromper autenticação.

Configuração de sessões ↗

06 / COLOQUE EM PRÁTICA

Seu checklist de atualização.

Marque os itens realizados no seu ambiente. O checklist é pessoal: não executa testes nem certifica que a instalação está protegida.

0 de 8 itens concluídos

Suas marcações ficam neste navegador.

07 / PERGUNTAS FREQUENTES

Antes de encerrar a atualização.

Uso PHP-FPM no Linux. Posso ignorar os avisos?

Não. A falha histórica de PHP-CGI no Windows tem um escopo específico, mas os avisos críticos de outubro de 2026 incluem serviços como PHP-FPM. Confira o seu pacote e as correções do fornecedor.

Ocultar a versão ou instalar um WAF resolve?

Essas medidas não substituem a atualização do runtime vulnerável. O comunicado de outubro informa que medidas temporárias reduzem caminhos de exposição, mas apenas a atualização é uma solução completa para aquelas duas falhas.

Atualizei o PHP. Meu site está totalmente seguro?

A correção cobre as vulnerabilidades tratadas pelo patch. Aplicação, bibliotecas, permissões, credenciais e configuração continuam exigindo revisão. Um número de versão não representa uma auditoria completa.

Como sei se houve invasão?

A presença de uma versão vulnerável não comprova comprometimento. É necessário investigar registros, alterações e outros sinais com o responsável pelo ambiente. Se houver suspeita, preserve evidências e acione a resposta a incidentes.

08 / REFERÊNCIAS

Fontes oficiais para conferir.

Conteúdo conferido em 30/10/2026. Este é um recorte editorial, sem atualização automática. Consulte novos avisos antes de tomar uma decisão operacional.

  1. PHP — comunicados de outubro de 2026
  2. PHP — RCE via OOM corruption
  3. PHP — RCE via stale global state
  4. Brotli — release 1.2.1
  5. PHP — SQL injection em ext-pgsql
  6. CVE Program — registro CVE-2024-4577
  7. PHP — calendário de versões suportadas
  8. Composer — audit
  9. CTIR Gov — recomendação sobre CVE-2026-115560
CONTINUE APRENDENDO

Reconheça o risco. Escolha a defesa.

Explore os oito temas de segurança do nosso minicurso, com situações práticas para exercitar suas decisões.

Praticar identificação de phishing →