Adrian MichaelEm 21 de outubro de 2026, o PHP publicou uma versão de emergência para duas falhas críticas que...
Em 21 de outubro de 2026, o PHP publicou uma versão de emergência para duas falhas críticas que permitem execução remota de código sem autenticação. No mesmo dia, o Node.js corrigiu dez vulnerabilidades. Li os avisos oficiais, as análises de quem encontrou as falhas e as de quem ajudou a mitigar. Aqui vai o que aconteceu, onde as fontes discordam e o que eu checaria hoje no seu ambiente.
As falhas são CVE-2026-109618 e CVE-2026-109619, ambas com CVSS v4.0 de 9,2. Estão no próprio PHP, abaixo do WordPress, do Laravel ou de qualquer plugin. Google Cloud e Wiz listam como vulneráveis todas as versões da 5.4 até a 8.5.11.
Segundo o aviso do NCSC (Reino Unido), a primeira falha ocorre quando o PHP fica sem memória enquanto os dados internos da requisição estão só parcialmente inicializados, e a limpeza posterior trata esses dados como válidos. Na segunda, um estado interno continua apontando para memória já liberada, e a próxima requisição atendida pelo mesmo worker pode usá-lo.
Traduzindo: uma requisição que força o estouro do memory_limit deixa lixo para trás, e a requisição seguinte tropeça nele. A Calif mostrou que um upload multipart com campos aninhados consegue esgotar a memória mesmo abaixo do post_max_size.
Atualize e reinicie os workers: trocar o pacote em disco não basta se o processo antigo continua na memória. O PHP afirma que nenhuma configuração mitiga tudo.
PHP 8.1 e anteriores não têm release oficial. A watchTowr cita backports mínimos de código-fonte para 7.4, 8.0 e 8.1, além de pacotes de distribuições e de fornecedores de suporte longo. Cuidado: distros costumam aplicar o patch sem mudar o número da versão, então php -v sozinho engana.
# Debian/Ubuntu: o pacote já traz a correção?
apt-get changelog php-fpm | grep -E "CVE-2026-10961[89]"
# reinicie o que de fato atende as requisições (ajuste a versão)
sudo systemctl restart php8.3-fpm
Como paliativo parcial, e só até atualizar, o PHP aponta desligar o upload progress da sessão:
session.upload_progress.enabled = 0
O NCSC vai além: se nem atualizar nem mitigar for possível, considere tirar o sistema do ar e procurar sinais de comprometimento. Lembre também de appliances e painéis de hospedagem que embutem PHP.
Em 21 de outubro saíram o Node.js 22.23.4, 24.22.1 e 26.12.1, com dez CVEs, quatro delas altas. A pior é a CVE-2026-111497: uma escrita fora dos limites no decodificador Brotli, que pode causar crash, vazamento de memória ou RCE quando a aplicação descomprime com node:zlib dados controlados por um atacante.
Duas outras altas afetam a verificação de hostname em TLS com IPs escritos de forma não canônica. Exemplo do próprio aviso: 0127.0.0.1 é lido como octal pelo verificador, mas pode ser lido como decimal pelo sistema operacional. A quarta alta trunca nomes DNS com byte NUL, o que pode furar listas de domínios permitidos.
O Node 20 não recebeu correção; segundo a Vendure, seu fim de vida foi em 30 de abril de 2026. Antes disso, houve releases com falhas altas em 18 de junho e em 29 de julho (adiado por problemas de infraestrutura).
No Next.js, 25 de agosto trouxe duas falhas críticas de RCE (corrigidas em 15.5.24 e 16.3.3). Em 14 de outubro vieram outras: um RCE em funções use cache que retornam typed arrays e outro na otimização de imagens (corrigidas em 16.4.1 e 15.5.28).
O caso de maior escala foi o ChainDrop, um worm da família Shai-Hulud. Segundo a Microsoft, ele executa em hook de preinstall, rouba credenciais e republica pacotes usando o acesso roubado. Antes dele houve o Mini Shai-Hulud (29 de abril), a campanha TeamPCP (11 de maio) e o comprometimento de mais de 140 pacotes Mastra em 17 de junho, atribuído pela Microsoft à Sapphire Sleet, grupo norte-coreano.
Defesas práticas, a partir do guia da ArmorCode: lockfile commitado, npm ci, intervalo mínimo antes de adotar versões recém-publicadas e atenção a dependências novas com scripts de instalação.
npm ci --ignore-scripts
Em 14 de abril foram corrigidas duas injeções de comando no driver Perforce do Composer (CVE-2026-40261, CVSS 8,8, e CVE-2026-40176, 7,8). Uma terceira, de 14 de julho (CVE-2026-59946), foi corrigida nas versões 2.2.29 e 2.10.2. Esses detalhes vêm de fontes secundárias; confirme no aviso do projeto antes de agir.
npm install como execução de código de terceiros.