Entre os dias 21 e 23 de outubro de 2026, duas das tecnologias mais usadas para construir sites, sistemas de agendamento, lojas virtuais e portais de atendimento no Brasil passaram pelo mesmo tipo de sobressalto: PHP e Node.js publicaram, quase ao mesmo tempo, correções urgentes para falhas que permitem a um invasor rodar comandos num servidor sem precisar de senha, login ou qualquer convite.
Não é um aviso genérico de "atualize seu software". São duas famílias de falhas distintas, cada uma com nome próprio no mercado de segurança, e as duas já têm correção publicada. A pergunta que interessa a quem mantém um site, um sistema interno ou uma loja virtual não é "isso é grave?" — é "até que ponto isso depende de mim para ser resolvido, e quem está cuidando disso na minha operação?".
O que aconteceu no PHP
No dia 21 de outubro, o projeto PHP lançou as versões 8.5.12, 8.4.27, 8.3.36 e 8.2.35 para corrigir duas falhas críticas, catalogadas como CVE-2026-109618 e CVE-2026-109619 e batizadas pelo mercado de "PHP2Shell". Segundo o aviso oficial do projeto, as duas permitem execução remota de código sem autenticação: uma delas ocorre quando o PHP fica sem memória no meio de um pedido e aproveita dados que ainda não terminaram de ser montados; a outra ocorre quando um estado interno de um pedido anterior sobrevive na memória e é reaproveitado, por engano, pelo pedido seguinte no mesmo processo.
A lista de afetados é ampla: qualquer instalação de PHP que atenda requisições web — PHP-FPM, mod_php do Apache, php-cgi, FrankenPHP e LiteSpeed — está no alcance, sendo o mod_php classificado pelo próprio projeto como o de maior risco, com um ataque de prova de conceito que roda antes mesmo do código da aplicação ser executado. Telemetria divulgada pela Unit 42, da Palo Alto Networks, estimou mais de 22,6 milhões de instâncias expostas na internet no momento da divulgação — número de terceiro, não confirmado pelo projeto PHP, mas que dá a escala do problema.
Há registros de tentativas de exploração: a Datadog relatou sinais de varredura já em 17 de outubro, quatro dias antes do aviso público, e a empresa de segurança watchTowr afirma ter observado exploração ativa. Outras equipes relataram tentativas de instalar uma variante da botnet Mirai, sem confirmação, até o momento da publicação deste texto, de que o ataque tenha conseguido executar código com sucesso.
Dois dias depois, em 23 de outubro, o projeto PHP publicou um terceiro aviso, este informativo: CVE-2026-115560, ligado ao recurso de acompanhamento de upload de sessão. Diferente das duas primeiras, esta só afeta aplicações com uma combinação específica de configuração pouco comum, não tem correção pronta ainda — está prevista para a próxima versão regular — e não há relato de exploração até agora.
O que aconteceu no Node.js
No mesmo dia 21 de outubro, a equipe do Node.js publicou uma rodada de segurança cobrindo as três versões ativas do projeto (26.x, 24.x e 22.x), reunindo dez falhas corrigidas nas versões 26.12.1, 24.22.1 e 22.23.4. A de maior destaque é a CVE-2026-111497, apelidada de "Node2Shell": um erro no decodificador Brotli — a biblioteca que o Node.js usa para descomprimir dados — permite que um arquivo comprimido malformado escreva além do espaço reservado na memória. Na prática, uma aplicação que descomprime dados de origem não confiável usando o módulo nativo node:zlib pode travar, expor memória do processo ou, no limite, permitir execução remota de código.
Além dela, o pacote de outubro trouxe mais três falhas classificadas como de severidade alta, todas ligadas à forma como o Node.js verifica endereços e nomes em conexões seguras: uma permite que o nome de um site seja confirmado mesmo com caracteres fora do padrão, e duas envolvem o reconhecimento de endereços IP escritos de forma não convencional, o que pode abrir uma brecha para fazer uma conexão parecer legítima quando não é. Outras seis falhas, de severidade média e baixa, tratam de reaproveitamento indevido de conexão, geração de números aleatórios e contornos pontuais do controle de permissões do Node.js — relevantes, mas de exploração mais restrita.
Um ponto que o próprio projeto destaca: versões do Node.js fora de manutenção não recebem — e não vão receber — nenhuma dessas correções. Quem ainda roda uma versão antiga do Node.js está, por definição, exposto a todas elas, sem expectativa de remendo.
Por que duas falhas separadas pesam mais juntas
PHP e Node.js raramente aparecem na mesma notícia de segurança porque atendem necessidades parecidas de formas diferentes — e é comum uma operação usar os dois ao mesmo tempo: o site institucional ou a loja em PHP, o chat, o painel interno ou a API de integração em Node.js. Uma empresa que terceirizou partes diferentes do seu ambiente para fornecedores diferentes pode ter as duas exposições ativas sem que ninguém, de um lado ou de outro, tenha o quadro completo.
Isso não significa que toda empresa com PHP ou Node.js esteja sob ataque hoje. Significa que, pela primeira vez em muito tempo, duas das bases mais comuns da internet publicaram, na mesma semana, falhas que não exigem senha nem erro do usuário — só exigem que o servidor esteja de pé e desatualizado.
O que fazer, na prática
A atualização é o único remendo completo nos dois casos — os próprios fornecedores dizem isso. Para quem administra PHP diretamente, a recomendação é subir para 8.5.12, 8.4.27, 8.3.36 ou 8.2.35, conforme a linha em uso; quem está em PHP 8.1 ou anterior depende de um pacote com correção retroativa do seu fornecedor de hospedagem ou sistema operacional, porque o projeto já não mantém essas versões oficialmente. Para quem usa Node.js, a atualização recomendada é para 26.12.1, 24.22.1 ou 22.23.4, de acordo com a linha adotada — e quem está numa versão fora de manutenção precisa primeiro migrar para uma linha ativa, porque, como já dito, essa versão não vai receber correção nenhuma.
Enquanto a atualização não sobe, os próprios avisos listam medidas que reduzem — nunca eliminam — a exposição, como ajustar limites de memória e de tamanho de envio no PHP, ou restringir a descompressão de dados de origem não confiável no Node.js. São contenções de curto prazo, não substituto da correção.
Perguntas rápidas
- Preciso atualizar hoje mesmo? Se o seu ambiente expõe PHP ou Node.js diretamente à internet, sim — são falhas que um invasor explora sem precisar de credencial.
- E se eu não sei qual versão estou usando? Essa é exatamente a pergunta que um inventário de infraestrutura atualizado responde em segundos, em vez de em dias.
- A atualização pode quebrar o sistema? Pode, se for aplicada sem teste prévio — por isso ela deve passar por homologação antes de ir para produção, não ser pulada por medo.
Isso é exatamente o tipo de situação em que ter alguém de olho na sua infraestrutura faz diferença entre resolver em um dia planejado e descobrir o problema quando ele já causou prejuízo. A Ragnatela acompanha avisos de vulnerabilidade como este dentro do monitoramento 24×7 de infraestrutura que já faz para quem confia a operação a nós, cruza com o firewall de próxima geração em uso e avalia o impacto real antes de agir — sem prometer blindagem absoluta, porque isso nenhuma empresa séria promete.
Fontes: PHP.net, avisório oficial de 21 e 23 de outubro de 2026 (php.net) · Node.js Foundation, aviso de segurança de outubro de 2026 (nodejs.org) · Unit 42 (Palo Alto Networks), boletim de ameaça sobre CVE-2026-109618 e CVE-2026-109619 (unit42.paloaltonetworks.com) · The Hacker News, cobertura de 21 a 23 de outubro de 2026 (thehackernews.com).
Se a sua empresa depende de um site ou sistema construído em PHP ou Node.js e ninguém confirmou ainda se a atualização de outubro já foi aplicada, vale a pena perguntar — hoje, não na próxima reunião.
Perguntas frequentes
O que é a falha PHP2Shell?
É o nome que o mercado deu a duas falhas no núcleo do PHP, CVE-2026-109618 e CVE-2026-109619, corrigidas em 21 de outubro de 2026. Juntas, permitem que um invasor execute código no servidor sem precisar de senha ou login.
Quais versões do PHP corrigem a falha?
PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35 trazem a correção completa. Versões 8.1 e anteriores não recebem mais atualização oficial do projeto PHP.
O que é a falha Node2Shell?
É o apelido dado à CVE-2026-111497, uma falha no decodificador Brotli do Node.js que pode permitir execução remota de código. Foi corrigida em 21 de outubro de 2026, junto com nove outras falhas, nas versões 26.12.1, 24.22.1 e 22.23.4.
Minha empresa precisa se preocupar mesmo não sendo uma empresa de tecnologia?
Sim, se algum sistema seu — site, loja virtual, sistema de agendamento, painel interno — roda em PHP ou Node.js num servidor acessível pela internet. A tecnologia por trás do sistema importa tanto quanto o sistema em si.
