jsonscraper

Vulnerabilidade do Brotli afeta .NET e Node.js: como verificar e atualizar aplicações

A CVE-2026-111497 está relacionada com o processamento de dados Brotli especialmente preparados. Verifique não só a versão do runtime, mas também a utilização efetiva do descodificador.

Política editorial Comunique um erro

Uma aplicação pode receber tráfego HTTPS normal e, ainda assim, processar entradas perigosas se descomprimir dados Brotli fornecidos por utilizadores. A 25 de outubro de 2026, a Microsoft lançou atualizações extraordinárias do .NET para corrigir um transbordamento de buffer no descodificador Brotli; a vulnerabilidade foi identificada como CVE-2026-111497. O Node.js incluiu uma correção para a mesma vulnerabilidade numa versão de segurança separada, a 21 de outubro. Para os programadores, o primeiro passo é identificar o percurso entre os dados externos e o descodificador; em seguida, atualizar o runtime e reconstruir ou reiniciar a aplicação.

Artigo: Vulnerabilidade do Brotli afeta .NET e Node.js: como verificar e atualizar aplicações
Resumo: A 25 de outubro, a Microsoft lançou atualizações extraordinárias do .NET para a vulnerabilidade CVE-2026-111497 no descodificador Brotli. O Node.js incluiu uma correção para a mesma vulnerabilidade nas versões de segurança de 21 de outubro. Para avaliar o risco, descubra que aplicações descodificam dados não confiáveis e que versão da biblioteca está a funcionar no ambiente implementado.
Função da imagem: capa — a ideia central
Secção: 
Tema visual: ilustração do Brotli compresso
© jsonscraper · ilustração gerada por IA

De acordo com a descrição da Microsoft, a vulnerabilidade no .NET pode permitir que um atacante não autenticado leia ou danifique a memória do processo, o que pode levar à divulgação de dados, à negação de serviço ou à escalada de privilégios. Foram disponibilizadas correções para o .NET 8, 9 e 10, bem como para o .NET 11 Release Candidate 3. Para o .NET 8, são indicados o runtime 8.0.33 e os SDK 8.0.133 ou 8.0.427. O .NET Framework não é afetado por esta vulnerabilidade.

Onde surge a exposição

O risco surge quando uma aplicação envia um fluxo Brotli não confiável para um descodificador vulnerável. No .NET, isto pode acontecer através da descompressão de pedidos do ASP.NET Core, da descompressão automática de respostas pelo HttpClient ou de chamadas diretas a APIs de System.IO.Compression, como BrotliStream e BrotliDecoder. A recomendação do .NET enumera estes percursos e indica que a descompressão de pedidos recebidos e a descompressão automática de respostas estão desativadas por predefinição.

O inventário de pacotes é apenas o primeiro passo da verificação. Procure configurações de middleware e clientes HTTP, chamadas diretas ao descodificador e componentes de terceiros que aceitem dados comprimidos. Determine se esses dados provêm de clientes, webhooks, proxies ou APIs externas, e que limites de tamanho e tempo de processamento são aplicados antes da descompressão. Isto ajuda a identificar onde o código vulnerável recebe dados controlados externamente.

Atualização do .NET

Instale a atualização da versão que utiliza: .NET 8 — 8.0.33; .NET 9 — 9.0.22; .NET 10 — 10.0.14; .NET 11 — Release Candidate 3. Para aplicações dependentes do framework, instale o runtime atualizado e reinicie a aplicação. As aplicações autónomas têm de ser novamente compiladas e publicadas: atualizar o runtime no anfitrião não substitui a cópia incluída na aplicação. Reconstrua os contentores e implemente-os com imagens .NET atualizadas.

Para NativeAOT, utilize também SDK e pacotes de runtime atualizados ao publicar novamente. Se ainda não for possível implementar a correção, desative temporariamente o Brotli nos percursos identificados que aceitam dados não confiáveis. Teste os pedidos normais e as integrações: desativar a compressão pode alterar o processamento de clientes que enviam corpos comprimidos.

Verifique o Node.js e as dependências do sistema

O projeto Node.js comunicou a vulnerabilidade a 21 de outubro: o descodificador Brotli integrado no Node.js 22.x, 24.x e 26.x é afetado. A versão de segurança do Node.js indica, respetivamente, as versões corrigidas 22.23.4, 24.22.1 e 26.12.1. Atualize para a versão suportada que utiliza e reinicie o serviço. Segundo a descrição do projeto, o problema ocorre quando uma aplicação descomprime dados fornecidos por um atacante através de node:zlib; os danos na memória podem levar a uma falha, à divulgação de memória ou à execução remota de código.

Verifique também as dependências fornecidas separadamente do Node.js ou .NET do sistema. Confirme as versões do Brotli nos contentores e artefactos de compilação e volte a verificar após a implementação. No CI, fixe a imagem base atualizada e inclua o controlo das versões de bibliotecas vulneráveis no processo normal de compilação.

Lista breve de ações

  1. Faça uma lista das aplicações, SDK, runtimes, contentores e compilações NativeAOT que utilizam Brotli.
  2. Identifique os locais onde os dados externos passam por descodificação automática ou direta.
  3. Atualize o .NET, o Node.js e as bibliotecas fornecidas separadamente para versões corrigidas; reconstrua as aplicações autónomas e os contentores.
  4. Reinicie os processos e verifique as versões no ambiente em execução, não apenas nos ficheiros do projeto.
  5. Até a correção estar implementada, limite o processamento de entradas Brotli não confiáveis nos percursos vulneráveis identificados.

A prioridade depende da combinação de dois fatores: a presença de um componente vulnerável e a possibilidade de lhe fornecer um fluxo comprimido especialmente preparado. A atualização corrige a falha, enquanto o mapeamento dos percursos de entrada ajuda a confirmar que a correção chegou aos processos, às compilações autónomas e aos contentores.

People

No people listed for this article yet.

Keep readingGitHub CLI adiciona tokens OAuth com expiração: como ativar e verificar integrações
Read the next article

Transforme o que lê numa integração funcional

Explore as APIs de dados sociais da jsonscraper, teste pedidos e crie o seu próximo fluxo de trabalho.

Explorar APIs