Atualizações críticas de segurança do PHP e do Node.js: o que fizemos e o que você precisa fazer

Patrick Wunderlin
Patrick Wunderlin
Atualizações críticas de segurança do PHP e do Node.js: o que fizemos e o que você precisa fazer

Hoje, 21 de outubro de 2026, PHP e Node.js lançaram atualizações de segurança. As correções do PHP merecem atenção especial: elas eliminam duas falhas críticas que permitem executar código em um servidor web sem autenticação. Já havia relatos de ataques antes mesmo da publicação da correção.

O WireBoard já foi atualizado. Não houve indisponibilidade, e você não precisa fazer nada na sua conta do WireBoard nem no script de rastreamento.

Mas, se o seu site ou aplicativo usa PHP ou Node.js, continue a leitura e faça a atualização ainda hoje.

Resumo

Atualize para

Gravidade

PHP

8.5.12, 8.4.27, 8.3.36 ou 8.2.35 (ou o pacote corrigido do seu fornecedor)

Crítica (CVSS 9,2), execução remota de código sem autenticação

Node.js

26.12.1, 24.22.1 ou 22.23.4

Alta

  • Usa WordPress, Magento, Drupal, Laravel ou outro aplicativo feito em PHP? Então você usa PHP. Atualize agora.

  • Usa hospedagem compartilhada ou gerenciada? A correção do PHP fica por conta do provedor. Confirme se ela já foi aplicada.

  • Depois de atualizar o PHP, reinicie o PHP-FPM ou o Apache. Caso contrário, a versão antiga continuará em execução.

  • Usa uma versão sem suporte (PHP 8.1 ou anterior, Node.js 25, 23, 20 ou anterior)? Não haverá correção oficial. Planeje a migração para uma versão com suporte.


O que aconteceu

PHP: "PHP2Shell" (CVE-2026-109618 e CVE-2026-109619)

A equipe do PHP lançou correções para duas vulnerabilidades críticas, ambas com nota 9,2 na escala CVSS v4.0:

  • CVE-2026-109618: execução remota de código por corrupção de memória quando a memória disponível para o PHP se esgota durante uma requisição.

  • CVE-2026-109619: execução remota de código causada por um estado global desatualizado.

As duas falhas podem ser exploradas remotamente, sem autenticação, nas configurações padrão. Os detalhes vazaram na internet um dia antes do lançamento previsto. Por isso, empresas de segurança identificaram ataques e tentativas de exploração em sites PHP antes de a correção estar disponível. Algumas empresas chegaram a tirar seus serviços do ar por precaução até conseguirem atualizar.

Todas as linhas do PHP com suporte são afetadas nas versões anteriores à 8.2.35, 8.3.36, 8.4.27 e 8.5.12.

Node.js: atualização de segurança de outubro de 2026

O Node.js lançou correções para as linhas 26.x, 24.x e 22.x, abrangendo 10 vulnerabilidades, quatro delas de gravidade alta. Os principais destaques:

  • CVE-2026-111497: uma escrita fora dos limites de memória no descompressor Brotli que pode permitir a execução remota de código. Basta o seu aplicativo chamar fetch() para um servidor que retorne dados comprimidos com Brotli para ficar exposto à falha.

  • CVE-2026-105483 / CVE-2026-106069: formas de contornar a verificação do nome do host no TLS usando representações incomuns de endereços IP.

  • CVE-2026-105482: dns.resolve podia consultar um nome diferente daquele verificado pelo seu código.

O que fizemos

Aplicamos hoje as duas atualizações em toda a infraestrutura do WireBoard. Não houve indisponibilidade nem impacto nos dados. Nada muda na forma como você usa o WireBoard.

Isso afeta você?

Você precisa agir se o seu site, aplicativo ou servidor usa:

  • PHP, diretamente ou por meio de um CMS ou framework como WordPress, WooCommerce, Magento, Drupal, Joomla, Laravel ou Symfony.

  • Node.js, por exemplo, em um aplicativo Next.js, Nuxt, Express ou NestJS, ou em qualquer serviço de backend ou servidor de build que execute Node.

Não tem certeza? Pergunte a quem desenvolve seu site ou ao provedor de hospedagem. Basta perguntar: "Nosso site usa PHP ou Node.js? A atualização de segurança lançada hoje já foi aplicada?"

Como verificar a sua versão

PHP

A versão que importa é a usada pelo seu servidor web. O comando php -v no terminal mostra a versão do PHP da linha de comando, que pode ser diferente.

  1. Crie um arquivo chamado info.php na raiz pública do seu site com o conteúdo <?php phpinfo();

  2. Abra o arquivo no navegador e confira o campo PHP Version no topo.

  3. Exclua o arquivo imediatamente depois da consulta: ele expõe toda a configuração do servidor.

Muitos painéis de hospedagem (cPanel, Plesk e outros) também mostram a versão do PHP.

Atenção aos pacotes de distribuições Linux: Ubuntu, Debian, RHEL e outras distribuições costumam aplicar a correção às versões existentes sem alterar o número da versão. Nesse caso, procure os identificadores CVE no histórico de alterações do pacote (veja abaixo).

Node.js

node -v

A correção está aplicada se o resultado for v26.12.1, v24.22.1, v22.23.4 ou uma versão mais recente da mesma linha.

Como atualizar o PHP

Siga as instruções correspondentes à forma como o PHP está instalado no seu servidor.

Hospedagem compartilhada ou gerenciada

O provedor gerencia o PHP e aplica a correção. Consulte a página de status ou os comunicados do provedor e confirme a versão com phpinfo(), como explicado acima. Se o painel permitir escolher a versão do PHP e você estiver na 8.1 ou anterior, mude para a 8.2 ou posterior. Antes, confira se o seu CMS e os plugins são compatíveis.

Ubuntu / Debian

sudo apt update
# replace 8.3 with the PHP branch you use
sudo apt install --only-upgrade 'php8.3-*'

# confirm the fix is included
apt changelog php8.3-fpm | grep -E 'CVE-2026-10961(8|9)'

Se o último comando não retornar nada, a correção ainda não chegou ao repositório da sua distribuição. Consulte os avisos de segurança do Ubuntu ou o rastreador de segurança do Debian e tente novamente mais tarde. Se você usa os pacotes PHP de Ondřej Surý, atualize pelo repositório dele da mesma forma.

RHEL / AlmaLinux / Rocky Linux

dnf module list php          # see which PHP stream you're on
sudo dnf upgrade 'php*'

# confirm the fix is included
rpm -q --changelog php-fpm | grep -E 'CVE-2026-10961(8|9)'

Se você usa o repositório Remi, atualize por ele.

Docker

Baixar uma nova imagem não atualiza os contêineres que já estão em execução. Baixe a imagem, refaça o build e recrie os contêineres:

docker pull php:8.3-fpm        # use your tag
docker compose build --pull
docker compose up -d

Para garantir o uso da versão corrigida, fixe essa versão no seu Dockerfile (por exemplo, FROM php:8.3.36-fpm).

Compilação a partir do código-fonte ou Windows

Baixe a versão corrigida em php.net/downloads.

Depois, reinicie o PHP

É fácil esquecer esta etapa. Os processos em execução continuam usando o PHP antigo até serem reiniciados:

# PHP-FPM (Debian/Ubuntu; replace 8.3 with your branch)
sudo systemctl restart php8.3-fpm

# PHP-FPM (RHEL family)
sudo systemctl restart php-fpm

# Apache with mod_php
sudo systemctl restart apache2   # or httpd on RHEL

Depois, consulte phpinfo() novamente para confirmar que a nova versão está em uso.

"Posso só mudar uma configuração?"

Não. Algumas medidas provisórias circularam logo no início, como desativar session.upload_progress.enabled. Elas apenas reduzem o risco. Um desenvolvedor do núcleo do PHP afirmou publicamente que atualizar o PHP é a única forma efetiva de mitigar as falhas. Se você adotou uma medida provisória, mantenha-a até concluir a atualização, mas não deixe de atualizar.

Como atualizar o Node.js

Forma de instalação

Como atualizar

nvm

nvm install 24 (ou 22 / 26), depois nvm alias default 24

Instalador oficial

Baixe a versão mais recente da sua linha em nodejs.org/en/download

Docker

Fixe a tag da versão corrigida, por exemplo, FROM node:24.22.1. Depois execute docker pull e refaça o build. Uma tag não fixada, como node:24, pode continuar usando uma versão antiga se o build usar uma imagem em cache.

Homebrew

brew update && brew upgrade node (ou node@24 / node@22). A atualização pode levar algumas horas para chegar ao Homebrew. Se precisar atualizar antes, use o nvm ou o instalador.

Gerenciador de pacotes Linux

Atualize pelo repositório da sua distribuição ou do NodeSource, como de costume.

Plataforma de hospedagem (Vercel, Netlify, Heroku, Render etc.)

Confira as configurações do ambiente de execução e os comunicados da plataforma. A maioria aplica as correções automaticamente, mas pode ser necessário fazer um novo deploy.

Após atualizar, reinicie o aplicativo (ou faça um novo deploy) e confirme a versão com node -v.

Se você usa uma versão sem suporte

As correções oficiais são lançadas apenas para versões com suporte:

  • PHP: 8.2, 8.3, 8.4 e 8.5. O PHP 8.1 e as versões anteriores não receberão uma atualização oficial. Algumas distribuições Linux e fornecedores de suporte estendido pago aplicam as correções a versões antigas. Consulte o seu fornecedor. Caso contrário, o caminho seguro é migrar para uma linha com suporte. Atenção: o PHP 8.2 só recebe correções de segurança até 31 de dezembro de 2026.

  • Node.js: 22.x, 24.x e 26.x. Linhas como 25, 23 e 20 já estão sem suporte e não receberão correções.

Se não puder atualizar agora, considere proteger o site com um firewall de aplicações web ou restringir o acesso até conseguir atualizar.

Saiba mais

Comunicados oficiais

Guias úteis

Partilhar artigo
Patrick Wunderlin

Escrito por

Patrick Wunderlin

Fundador da WireBoard.io. Engenheiro informático (EPFL), apaixonado por web analytics, processamento de dados em tempo real e por criar ferramentas que ajudam as empresas a crescer.

WireBoard

Acompanhe o seu site em tempo real

Dashboards em tempo real do seu jeito. Comece grátis. Sem cartão, sem complicação.