Segurança PHP: como proteger meus servidores contra vulnerabilidades?

  • Autor Autor robo
  • Data de início Data de início
Este tópico foi traduzido automaticamente do espanhol. Ver original
O cPanel já lançou os patches e todos os servidores de Hosting/Reseller estão atualizados.

rpm -q --changelog ea-php83-php-cli | grep -m1 CVE-2026-109618
url_scanner_ex.c and ext/json/json_scanner.c for the CVE-2026-109618/109619 patch: el7/el8 re2c 0.14.3
Perfeito.

A confusão vinha porque, ao verificar diretamente com PHP_VERSION, continua aparecendo PHP 8.3.35 e eu esperava ver 8.3.36, mas entendo então que o cPanel aplicou o patch das CVEs mediante backport sobre o pacote do PHP 8.3.35 e que já está instalado nos servidores de Hosting/Reseller.

Obrigado.
 
Perfeito.

A confusão vinha porque, ao verificar diretamente com PHP_VERSION, continua aparecendo PHP 8.3.35 e eu esperava ver 8.3.36, mas entendo então que o cPanel aplicou o patch das CVEs mediante backport sobre o pacote do PHP 8.3.35 e que já está instalado nos servidores de Hosting/Reseller.

Obrigado.
Os patches estão explicados pelo cPanel. Utilizamos Cloudlinux e todos já lançaram as atualizações.

 
Os patches estão explicados pelo cPanel. Utilizamos Cloudlinux e todos já lançaram as atualizações.

Agora sim ficou completamente claro para mim.
Não tinha levado em conta a diferença entre os pacotes do cPanel EasyApache4 e os do CloudLinux EasyApache4.

Vejo na documentação do cPanel que para CloudLinux aparece ea-php83 8.3.35-2 como versão corrigida, por isso PHP_VERSION continua mostrando 8.3.35 embora o pacote já inclua a correção.

Obrigado pelo esclarecimento e por enviar o link.
 
@banahosting.com Olá, então só preciso entrar no meu semi-dedicado e colocar a última versão do php nos meus sites?
Abraços!
 
@banahosting.com Olá, então só preciso entrar no meu semi-dedicado e colocar a última versão do php nos meus sites?
Abraços!
Sempre é recomendado usar PHP moderno.

Mas as versões que usamos estão todas atualizadas com os últimos patches de segurança.

Abraços!
 
Gostaria de contribuir com algo para este debate, porque acredito que há uma diferença técnica importante que não foi esclarecida suficientemente.

A resposta de @banahosting.com de que «o cPanel já foi atualizado» não demonstra necessariamente que as vulnerabilidades CVE-2026-109618 e CVE-2026-109619 estejam corrigidas nas versões PHP que utilizam os sites hospedados.

Em nossas verificações com a Banahosting, encontramos servidores com CloudLinux, LiteSpeed e EasyApache onde o PHP continua mostrando versões como 8.2.34, 8.3.35, 8.4.26 e 8.5.11, todas anteriores às versões corrigidas oficialmente pelo PHP.

Investigando, descobrimos que o CloudLinux publicou suas próprias correções mediante backporting, incorporando os patches de segurança sem alterar o número da versão que o interpretador reporta.

Por exemplo, o PHP 8.4.26 pode estar corrigido mediante o pacote ea-php84-php-common-8.4.26-2.el8.cloudlinux.1.

Isso nos leva a duas reflexões:

1. Quem realizou realmente a correção?

Em servidores que utilizam CloudLinux com EA-PHP, a correção das versões PHP utilizadas pelos sites corresponde aos pacotes do CloudLinux. A atualização do cpanel-php84 é distinta e não constitui, por si só, evidência de que o PHP dos domínios esteja corrigido.

2. Como podemos auditar estas atualizações?

Embora o backporting seja uma prática válida e utilizada por distribuições empresariais, gera uma dificuldade importante para quem administra sites em hospedagem compartilhada com a Banahosting.

Se o PHP continua se identificando como 8.4.26, como podemos demonstrar que realmente contém os patches, especialmente quando não temos acesso root nem podemos consultar os pacotes RPM instalados?

Considero que os provedores deveriam acompanhar estas atualizações com informações verificáveis sobre as revisões exatas dos pacotes e os CVE corrigidos, em vez de se limitarem a indicar que o cPanel está atualizado. (opinião pessoal)

Não questiono a validade técnica do backporting. Minha inquietação está na rastreabilidade, na transparência e na possibilidade de realizar auditorias independentes e verificáveis para nossos clientes.

No final, quem administra infraestrutura e sites de clientes precisa de algo mais do que uma versão visível de PHP ou uma confirmação genérica: precisamos de evidência de que as vulnerabilidades foram corrigidas no ambiente que realmente executa nossas aplicações.

De que maneira se pode confirmar quais revisões de EA-PHP e Alt-PHP estão instaladas e se incluem as correções para ambos os CVE?

Seria uma informação muito valiosa para todos os que administramos sites em servidores da Banahosting.

Fonte oficial do CloudLinux: https://cloudlinux.statuspage.io/incidents/zl0vt1yq3dj5

Atualização:
Para complementar o anterior, o CloudLinux publicou no dia 22 de outubro de 2026, às 14:31 UTC, (eu estava redigindo este post) uma atualização intitulada "Why fixed alt-php and ea-php packages show an older PHP version", onde explica expressamente que as correções das vulnerabilidades CVE-2026-109618 e CVE-2026-109619 foram incorporadas mediante backporting, mantendo o número anterior do PHP.

Por exemplo:
  • PHP oficial corrigido: 8.4.27
  • PHP mostrado pelo CloudLinux: 8.4.26
  • Pacote EA-PHP corrigido: 8.4.26-2.el8.cloudlinux.1
Isso confirma que uma versão aparentemente vulnerável pode conter os patches, sempre que corresponda à revisão corrigida do pacote.

O CloudLinux também recomenda verificar os CVE diretamente no histórico do pacote instalado:

rpm -q --changelog ea-php84-php-cli | grep -E 'CVE-2026-(109618|109619)'

Portanto, o ponto que considero importante esclarecer não é se o backporting é válido, mas como podemos verificar a partir de uma hospedagem compartilhada que realmente está instalada a compilação corrigida, especialmente quando não temos acesso a RPM nem privilégios administrativos.
 
Queria contribuir com algo para este debate, porque acredito que há uma diferença técnica importante que não foi esclarecida suficientemente.

A resposta de @banahosting.com de que «o cPanel já foi atualizado» não demonstra necessariamente que as vulnerabilidades CVE-2026-109618 e CVE-2026-109619 estejam corrigidas nas versões PHP que utilizam os sites hospedados.

Em nossas verificações com a Banahosting, encontramos servidores com CloudLinux, LiteSpeed e EasyApache onde o PHP continua mostrando versões como 8.2.34, 8.3.35, 8.4.26 e 8.5.11, todas anteriores às versões corrigidas oficialmente pelo PHP.

Investigando, descobrimos que o CloudLinux publicou suas próprias correções mediante backporting, incorporando os patches de segurança sem alterar o número da versão que o interpretador reporta.

Por exemplo, o PHP 8.4.26 pode estar corrigido mediante o pacote ea-php84-php-common-8.4.26-2.el8.cloudlinux.1.

Isso nos leva a duas reflexões:

1. Quem realizou realmente a correção?

Em servidores que utilizam CloudLinux com EA-PHP, a correção das versões PHP utilizadas pelos sites corresponde aos pacotes do CloudLinux. A atualização do cpanel-php84 é distinta e não constitui, por si só, evidência de que o PHP dos domínios esteja corrigido.

2. Como podemos auditar estas atualizações?

Embora o backporting seja uma prática válida e utilizada por distribuições empresariais, gera uma dificuldade importante para quem administra sites em hospedagem compartilhada com a Banahosting.

Se o PHP continua se identificando como 8.4.26, como podemos demonstrar que realmente contém os patches, especialmente quando não temos acesso root nem podemos consultar os pacotes RPM instalados?

Considero que os provedores deveriam acompanhar estas atualizações com informações verificáveis sobre as revisões exatas dos pacotes e os CVE corrigidos, em vez de se limitarem a indicar que o cPanel está atualizado. (opinião pessoal)

Não questiono a validade técnica do backporting. Minha inquietação está na rastreabilidade, na transparência e na possibilidade de realizar auditorias independentes e verificáveis para nossos clientes.

No final, quem administra infraestrutura e sites de clientes precisa de algo mais que uma versão visível de PHP ou uma confirmação genérica: precisamos de evidência de que as vulnerabilidades foram corrigidas no ambiente que realmente executa nossas aplicações.

De que maneira se pode confirmar quais revisões de EA-PHP e Alt-PHP estão instaladas e se incluem as correções para ambos os CVE?

Seria uma informação muito valiosa para todos os que administramos sites em servidores da Banahosting.

Fonte oficial do CloudLinux: https://cloudlinux.statuspage.io/incidents/zl0vt1yq3dj5

Atualização:
Para complementar o anterior, o CloudLinux publicou em 22 de outubro de 2026, às 14:31 UTC, (eu estava redigindo este post) uma atualização intitulada "Why fixed alt-php and ea-php packages show an older PHP version", onde explica expressamente que as correções das vulnerabilidades CVE-2026-109618 e CVE-2026-109619 foram incorporadas mediante backporting, mantendo o número anterior do PHP.

Por exemplo:
  • PHP oficial corrigido: 8.4.27
  • PHP mostrado pelo CloudLinux: 8.4.26
  • Pacote EA-PHP corrigido: 8.4.26-2.el8.cloudlinux.1
Isso confirma que uma versão aparentemente vulnerável pode conter os patches, desde que corresponda à revisão corrigida do pacote.

O CloudLinux também recomenda verificar os CVE diretamente no histórico do pacote instalado:

rpm -q --changelog ea-php84-php-cli | grep -E 'CVE-2026-(109618|109619)'

Portanto, o ponto que considero importante esclarecer não é se o backporting é válido, mas como podemos verificar a partir de uma hospedagem compartilhada que realmente está instalada a compilação corrigida, especialmente quando não temos acesso a RPM nem privilégios administrativos.
O que você está indicando está incorreto.

Está claramente explicado pelo cPanel as versões corrigidas, ao qual forneci o link explicativo.

Documento oficial: https://support.cpanel.net/hc/en-us...y-Release-CVE-2026-109618-and-CVE-2026-109619

Se você não vai ler, aqui eu colo:

Utilizamos Cloudlinux

CloudLinux EasyApache4PHP 5.0 e posterior

Versões corrigidas
  • ea-php52: 5.2.17-27
  • ea-php53: 5.3.29-29
  • ea-php54: 5.4.45-82
  • ea-php55: 5.5.38-64
  • ea-php56: 5.6.40-25
  • ea-php70: 7.0.33-29
  • ea-php71: 7.1.33-20
  • ea-php72: 7.2.34-12
  • ea-php73: 7.3.33-15
  • ea-php74: 7.4.33-18
  • ea-php80: 8.0.30-11
  • ea-php81: 8.1.34-4
  • ea-php82: 8.2.34-2
  • ea-php83: 8.3.35-2
  • ea-php84: 8.4.26-2
  • ea-php85: 8.5.11-2

    Todas as nossas hospedagens corrigidas e seguras contra
  • Critical PHP Security Release - CVE-2026-109618 and CVE-2026-109619​

 
Eu atualizei hoje todos os meus sites para o PHP 8.5 (alt-php85) na banahosting.com, agora na saúde do site com o WP, aparece isto:

Servidor SQL obsoleto​

O servidor SQL é uma parte de software obrigatória que o banco de dados do WordPress usa para armazenar o conteúdo e ajustes do seu site.Para um desempenho ideal e por razões de segurança, você deveria considerar executar a versão 10.11 ou superior do MariaDB. Entre em contato com sua empresa de hospedagem web para corrigir isso.
 
O que você está indicando está incorreto.

Está claramente explicado pelo cPanel as versões corrigidas, para o qual forneci o link explicativo.

Documento oficial: https://support.cpanel.net/hc/en-us...y-Release-CVE-2026-109618-and-CVE-2026-109619

Se não vai ler, aqui eu colo:

Utilizamos Cloudlinux

CloudLinux EasyApache4PHP 5.0 and later

Patched versions
  • ea-php52: 5.2.17-27
  • ea-php53: 5.3.29-29
  • ea-php54: 5.4.45-82
  • ea-php55: 5.5.38-64
  • ea-php56: 5.6.40-25
  • ea-php70: 7.0.33-29
  • ea-php71: 7.1.33-20
  • ea-php72: 7.2.34-12
  • ea-php73: 7.3.33-15
  • ea-php74: 7.4.33-18
  • ea-php80: 8.0.30-11
  • ea-php81: 8.1.34-4
  • ea-php82: 8.2.34-2
  • ea-php83: 8.3.35-2
  • ea-php84: 8.4.26-2
  • ea-php85: 8.5.11-2

    Todos os nossos hostings corrigidos seguros contra
  • Critical PHP Security Release - CVE-2026-109618 and CVE-2026-109619​

Obrigado pelo esclarecimento.

Sim, revisamos o documento do cPanel e também o boletim oficial do CloudLinux. Entendemos que as versões EA-PHP foram corrigidas mediante backporting, por isso o PHP 8.4.26 pode estar protegido sem a necessidade de mostrar o PHP 8.4.27.

Precisamente esse é o ponto da nossa consulta.

O documento indica quais são as versões corrigidas disponíveis, mas como podemos verificar que essas revisões estão efetivamente instaladas no servidor onde temos hospedados nossos sites?

No nosso caso, o servidor priva-115 mostra PHP 8.4.26, compilado em 21 de outubro.

Não estamos afirmando que seus servidores estejam vulneráveis nem questionando a validade das atualizações.

Simplesmente buscamos uma confirmação técnica verificável de que o servidor utiliza as compilações corrigidas.

Como verificaríamos isso?
 
Obrigado pelo esclarecimento.

Sim, revisamos o documento do cPanel e também o boletim oficial do CloudLinux. Entendemos que as versões EA-PHP foram corrigidas mediante backporting, por isso o PHP 8.4.26 pode estar protegido sem a necessidade de mostrar o PHP 8.4.27.

Precisamente esse é o ponto da nossa consulta.

O documento indica quais são as versões corrigidas disponíveis, mas como podemos verificar que essas revisões estão efetivamente instaladas no servidor onde temos hospedados nossos sites?

No nosso caso, o servidor priva-115 mostra PHP 8.4.26, compilado em 21 de outubro.

Não estamos afirmando que seus servidores estejam vulneráveis nem questionando a validade das atualizações.

Simplesmente buscamos uma confirmação técnica verificável de que o servidor utiliza as compilações corrigidas.

Como verificaríamos isso?
Muito simples, apenas coloque um phpinfo e verá a versão completa do php e comparar com a anunciada pelo cpanel.

Assim:
Abraços!
 
Muito simples, apenas coloque um phpinfo e você verá a versão completa do php. E compare com a anunciada pelo cPanel.

Assim:
Abraços!
Obrigado pelo esclarecimento.

Revisitei a documentação oficial do cPanel e CloudLinux e confirmo que as versões mencionadas correspondem a pacotes corrigidos mediante backporting.

Minha preocupação surgia porque o phpinfo() mostra a versão do interpretador PHP, mas não necessariamente a revisão completa do pacote RPM instalado.

De fato, o próprio artigo do cPanel recomenda verificar os CVE mediante rpm -q --changelog, algo que não temos disponível a partir de uma conta de hospedagem compartilhada.

Agradeço a confirmação de que seus servidores estão atualizados. Minha intenção sempre foi verificar tecnicamente as correções para poder informar com precisão aos nossos clientes.

Abraços.
 
Obrigado pelo esclarecimento.

Revisei novamente a documentação oficial do cPanel e CloudLinux e confirmo que as versões que mencionam correspondem a pacotes corrigidos mediante backporting.

Minha inquietação surgia porque phpinfo() mostra a versão do interpretador PHP, mas não necessariamente a revisão completa do pacote RPM instalado.

De fato, o próprio artigo do cPanel recomenda verificar os CVE mediante rpm -q --changelog, algo que não temos disponível a partir de uma conta de hospedagem compartilhada.

Agradeço a confirmação de que seus servidores estão atualizados. Minha intenção sempre foi verificar tecnicamente as correções para poder informar com precisão aos nossos clientes.

Abraços.
Aconteceu exatamente o mesmo comigo.

De fato, você tem minha mensagem 3 mensagens acima da primeira que você escreveu - Quisiera aportar algo a este debate... , onde comentava precisamente que PHP_VERSION continuava mostrando 8.3.35 embora no CloudLinux a revisão corrigida fosse ea-php83 8.3.35-2.

Por isso phpinfo() também não me permitia comprovar esse -2, já que continuava mostrando a versão base do PHP.
 
Aconteceu exatamente a mesma coisa comigo.

Na verdade, você tem a minha mensagem 3 mensagens acima da primeira que você escreveu - Quisiera aportar algo a este debate... , onde eu comentava precisamente que PHP_VERSION continuava mostrando 8.3.35 embora no CloudLinux a revisão corrigida fosse ea-php83 8.3.35-2.

Por isso o phpinfo() também não me permitia verificar esse -2, já que continuava mostrando a versão base do PHP.
Obrigado por compartilhar sua experiência. Precisamente esse é o ponto que tentei explicar.

No meu caso, vários clientes revisaram suas versões de PHP e nos questionaram porque aparentemente continuamos utilizando versões vulneráveis, embora as correções tenham sido aplicadas mediante backporting.

O problema não é que os patches não estejam instalados, mas o quão complicado é demonstrar ao cliente que seu site está protegido, quando o phpinfo() continua mostrando a versão anterior e não temos acesso à revisão completa do pacote.

Obrigado novamente pela sua contribuição, porque confirma que não somos os únicos com essa inquietação.
 
Captura de pantalla 2026-10-23 a la(s) 5.36.59 p.m..webp


todas as novas instalações (via softaculus) enviam esta mensagem, logo ao instalar um wordpress limpo, enviam um e-mail, é normal?
 
Me inscrevo no tópico.
 
O que @soyjuli_us e @Tronlar apresentam tem uma saída prática: relacionar o PHP que atende o domínio com o pacote instalado e verificar se os processos já carregaram a atualização. A explicação do backport já ficou bastante clara; o que falta para documentar isso diante de um cliente é essa rastreabilidade.

Eu vivi isso nestes dias com servidores da minha empresa e de clientes. Entre o PHP e os avisos adicionais de Node.js e Java, passei dois dias revisando instalações, processos e serviços. Uma das armadilhas foi encontrar o pacote atualizado no disco enquanto continuavam vivos processos com o executável anterior. Por isso a revisão não terminava ao ver que o gerenciador de pacotes tinha concluído.

A partir de uma conta de hospedagem você pode coletar um diagnóstico mínimo do domínio, em um acesso privado ou restrito, sem deixar um phpinfo() aberto ao público:

PHP:
<?php
header('Content-Type: application/json; charset=utf-8');

echo json_encode([
    'version' => PHP_VERSION,
    'sapi' => PHP_SAPI,
    'binario' => PHP_BINARY,
    'ini' => php_ini_loaded_file(),
    'pid' => getmypid(),
], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);

Isso identifica o contexto dessa requisição: versão, handler, binário, configuração e processo. Não demonstra que tenha o patch nem revela por mágica a revisão do RPM. Se houver balanceamento ou vários workers, uma única requisição também não comprova todos os processos. Mas permite pedir uma verificação referente ao seu domínio, em vez de uma resposta genérica sobre o servidor.

A parte que o provedor completa é identificar o pacote dono desse executável e comparar sua revisão com o aviso oficial. Por exemplo, se esse domínio usa FPM do EasyApache com PHP 8.3, as consultas do administrador seriam:

Bash:
rpm -qf /opt/cpanel/ea-php83/root/usr/sbin/php-fpm
rpm -q --changelog ea-php83-php-fpm | grep -E 'CVE-2026-(109618|109619)'

Esse é um exemplo para FPM dessa versão, não para copiar sem mais no LiteSpeed ou alt-php: é preciso consultar o pacote do binário que a web realmente usa. E se uma busca no changelog não retornar nada, é preciso comparar o aviso e a revisão exata; não tirar daí uma conclusão automática de segurança.

Eu pediria que a confirmação inclua o nó onde o domínio está hospedado, handler, nome e revisão completa do pacote, referência do fabricante para ambos os CVE e quando os processos correspondentes foram renovados. Não é necessário publicar dados de outros clientes. Em uma conta compartilhada com RPM restrito, parte dessa evidência necessariamente tem que ser fornecida pelo provedor; o phpinfo() não pode substituir esse acesso.

Além disso, eu verificaria o processo vivo. No Linux, /proc/PID/exe permite ver o executável de um processo; se aparecer «(deleted)» depois de atualizar, é preciso investigar se ele continua usando o binário substituído. Que essa marca não apareça também não certifica o patch por si só: é preciso cruzar com o pacote, a inicialização e, quando for o caso, as bibliotecas carregadas. Isso também me coube revisar com Node.js e as JVMs; cada aplicação pode iniciar a partir de um caminho diferente do que o console mostra.

E eu separaria duas conclusões: «o ambiente tem o patch aplicado» e «não encontrei evidência de comprometimento no que foi revisado». Para a segunda, revisei acessos, bloqueios do WAF, erros de memória, arquivos modificados e persistência. Um 403 isolado não demonstra que todas as tentativas falharam, e um 200 também não demonstra que executaram código. É preciso seguir a requisição e cruzar as provas antes de informar o cliente.

A referência de compilações que já compartilharam serve para comparar a parte do pacote: https://support.cpanel.net/hc/en-us...y-Release-CVE-2026-109618-and-CVE-2026-109619

Com essa verificação é possível responder com precisão sem acusar o provedor de estar vulnerável por um número antigo, nem dar o trabalho por encerrado apenas porque existe um pacote corrigido no repositório.
 
Voltar
Topo