CISA confirma exploração ativa das falhas PolyShell e Brotli depois de centenas de lojas Magento terem sido comprometidas
Duas vulnerabilidades críticas entraram a 27 de outubro de 2026 no catálogo Known Exploited Vulnerabilities (KEV) da CISA, e ambas já estão a ser usadas em ataques reais. A primeira é uma falha de carregamento de ficheiros no Adobe Commerce e no Magento, que os criminosos aproveitaram para comprometer centenas de lojas online. A segunda está dentro do Brotli, a biblioteca de compressão incluída no Node.js, PHP, .NET, Python e em dezenas de outros produtos, e o tráfego de exploração contra ela começou a chegar aos sensores na internet.
O que aconteceu
A CISA adicionou as duas entradas depois de confirmar provas de exploração no terreno. As agências civis federais dos Estados Unidos têm até 10 de novembro de 2026 para aplicar as correções, mas esse prazo é uma boa referência para todos: quando uma falha chega ao KEV, os atacantes já a estão a usar.
CVE-2026-48356, «PolyShell» (CVSS 9,3)
Trata-se de um carregamento sem restrições de ficheiros de tipo perigoso no Adobe Commerce e no Magento. Um ataque bem-sucedido leva à execução de código arbitrário no contexto do utilizador atual e pode dar ao atacante acesso elevado ou controlo sobre a conta ou a sessão da vítima.
Na prática, a falha está a ser explorada em larga escala. Os atacantes entraram em centenas de lojas de comércio eletrónico e plantaram um carregador malicioso dentro de um bloco CMS do Magento, o componente de conteúdo que os comerciantes usam para banners e textos promocionais. O carregador contacta a infraestrutura controlada pelos atacantes e descarrega uma segunda fase. Ainda não foi recuperado nenhum malware subsequente, pelo que o objetivo final da campanha continua por esclarecer, embora o roubo de cartões e de credenciais seja o desfecho habitual em lojas comprometidas. A atividade parece decorrer desde, pelo menos, julho de 2025.
CVE-2026-111497, «Node2Shell» (CVSS 9,2)
Também conhecida como Broccoli2Shell e HTTP2Shell, é um erro de valor de retorno não verificado no descodificador Brotli da Google. Um atacante remoto e não autenticado que consiga enviar um fluxo comprimido com Brotli especialmente construído para uma aplicação vulnerável pode corromper o estado adjacente do descodificador em memória. Consoante o alvo, o resultado é uma falha do processo, a fuga de memória sensível ou a execução remota de código.
A exploração já não é teórica. A telemetria de honeypots registou uma tentativa de exploração a partir de um endereço nos Estados Unidos a 27 de outubro, e sensores independentes captaram tráfego de exploração real vindo de um IP alojado nos Países Baixos, 94.154.43[.]7, que também sonda as duas falhas PHP2Shell de execução de código no PHP. A carga captada é um exploit Node2Shell corretamente construído para o Node.js 24.22.0, idêntico às ferramentas públicas, o que aponta para um operador a preparar-se para exploração em massa e não para um simples teste.
Porque é que importa
O Brotli está em todo o lado. Como a biblioteca está incorporada em tantos ambientes de execução e produtos, a falha desencadeou uma resposta de emergência invulgarmente ampla. Já existem versões corrigidas para Node.js (22.23.4, 24.22.1 e 26.12.1), PHP (8.5.12-1, 8.4.27-1, 8.3.36-1 e 8.2.35-1), Bun, Envoy Proxy, Istio, .NET, Python, ClickHouse, a extensão PHP Brotli e a gem Ruby brotli, e fornecedores como Cisco, Cloudflare, F5, Fortinet, Palo Alto Networks, Red Hat, Ubuntu e Microsoft publicaram avisos.
A telemetria de nuvem divulgada esta semana sugere que cerca de nove em cada dez ambientes de nuvem contêm pelo menos um recurso exposto à CVE-2026-111497, e que mais de oito em cada dez têm instâncias Node.js acessíveis a partir da internet. Para o Node.js não há solução de contorno: atualizar é a única correção completa, e quem ainda estiver numa linha de versões descontinuada tem de migrar para uma suportada.
Ainda assim, o risco não é uniforme. O Node2Shell só afeta serviços que descomprimem dados Brotli que um atacante consegue influenciar. O Express 5 com a análise predefinida do corpo JSON coloca uma grande parte das aplicações Node.js nesse grupo, por isso a ordem de aplicação dos patches deve seguir a exposição real e não apenas o número da versão. O impacto demonstrado até agora são falhas em grande escala e execução de código em configurações mais restritas.
Para quem opera Magento, o cenário é mais simples e pior: o exploit é barato, a loja é pública por definição e a carga maliciosa já está a ser plantada.
O que fazer
- Atualize o Adobe Commerce e o Magento já. Aplique a correção da Adobe para a CVE-2026-48356 em todas as instâncias de produção e de testes.
- Procure o carregador. Reveja todos os blocos CMS, widgets e conteúdo estático alterado recentemente à procura de tags script desconhecidas ou JavaScript ofuscado, e consulte o registo de auditoria da administração para alterações inesperadas desde julho de 2025.
- Inventarie a sua exposição ao Brotli. Liste todos os serviços que usam Node.js, PHP, Bun, .NET, Python, Envoy, Istio ou ClickHouse e atualize para as versões corrigidas indicadas acima. Reconstrua os contentores para que o runtime corrigido chegue mesmo à produção.
- Dê prioridade pela exposição. Os serviços expostos à internet que aceitam corpos de pedido comprimidos, sobretudo as API em Express 5, vêm primeiro.
- Bloqueie e vigie. Adicione 94.154.43[.]7 às suas listas de bloqueio e crie alertas para fluxos Brotli malformados que cheguem ao perímetro.
- Verifique, não presuma. Um manifesto de dependências não prova que o binário corrigido está realmente em execução.
Falhas como estas mostram porque é que o intervalo entre um exploit público e uma frota corrigida tem de ser medido em horas, não em semanas. A análise contínua de vulnerabilidades das lojas e dos servidores de API expostos, que a nossa equipa executa para os clientes, assinala as versões Magento desatualizadas e os runtimes vulneráveis antes que a próxima vaga de exploração em massa os alcance.
