Start Debugging

.NET 10.0.14 chega fora de banda: overflow na descompressão Brotli e dois CVEs de outubro relançados

A versão fora de banda de 25 de outubro de 2026 (.NET 8.0.33, 9.0.22, 10.0.14, 11 RC3) corrige um buffer overflow no Brotli, uma falha de propriedade em tarballs do Linux e dois CVEs que as correções de 13 de outubro não resolveram por completo.

Doze dias depois do Patch Tuesday de outubro, a Microsoft lançou uma versão de segurança fora de banda para o .NET: .NET 8.0.33, 9.0.22, 10.0.14 e .NET 11 RC3. A Microsoft diz para atualizar “as soon as possible”, e dois dos quatro CVEs desta versão são relançamentos. Se você implantou o 10.0.13, 9.0.21 ou 8.0.32 em 13 de outubro e considerou o assunto encerrado, ainda não terminou.

CVE-2026-111497: um buffer overflow na descompressão Brotli

CVE-2026-111497 é um buffer overflow na forma como o .NET descomprime dados Brotli. Um atacante não autenticado que consiga fazer bytes Brotli maliciosos chegarem ao seu processo pode ler ou corromper memória, o que pode significar divulgação de informações, negação de serviço ou elevação de privilégio. Afeta todas as plataformas. O .NET Framework não é afetado.

Há três caminhos de entrada:

Os dois primeiros vêm desativados por padrão, então saber se você usa isso é questão de um grep. Estes são os padrões a procurar:

// 1. Server side: clients can send you Brotli bodies
builder.Services.AddRequestDecompression();
app.UseRequestDecompression();

// 2. Client side: servers can send you Brotli responses
var handler = new SocketsHttpHandler
{
    AutomaticDecompression = DecompressionMethods.All // includes Brotli
};

// 3. Direct API use on untrusted input
using var input = File.OpenRead(uploadPath);
using var brotli = new BrotliStream(input, CompressionMode.Decompress);
await brotli.CopyToAsync(output);

// Same code path through the span API
BrotliDecoder.TryDecompress(source, destination, out int written);

A descompressão de requisições é o caso preocupante. Ela recebe bytes controlados pelo atacante de qualquer cliente antes de o seu código vê-los. Se você a habilitou em um endpoint público, aplique o patch primeiro e faça a auditoria depois.

CVE-2026-114148: propriedade de arquivos em tarballs do Linux

CVE-2026-114148 trata de metadados de propriedade inseguros em tarballs do Linux, que um atacante local poderia usar para modificar arquivos e escalar privilégios. No .NET 10 e 11, afeta apenas os tarballs de source-build. No .NET 8 e 9, cobre também os tarballs do runtime do ASP.NET Core, então, se os seus scripts de provisionamento executam tar -xzf no runtime do ASP.NET Core, baixe o tarball atualizado mesmo que você nunca compile o .NET a partir do código-fonte.

As correções de 13 de outubro estavam incompletas

Segundo o post, a versão do Patch Tuesday não corrigiu por completo dois avisos, então esta versão os emite novamente:

SocketAsyncEventArgs fica por baixo de Socket, do Kestrel e de SocketsHttpHandler, então quase todo aplicativo .NET com acesso à rede executa esse código.

Como implantar a correção

A correção depende de como o aplicativo é implantado:

# Framework-dependent: update the host runtime, then restart the process
dotnet --list-runtimes
# expect Microsoft.NETCore.App 10.0.14 / 9.0.22 / 8.0.33

# Self-contained or Native AOT: the runtime is inside your output, so republish
dotnet publish -c Release -r linux-x64 --self-contained

# Containers: pull fresh base images and rebuild, do not reuse cached layers
docker build --pull -t myapp:patched .

Uma atualização do runtime no nível do host não faz nada por aplicativos self-contained ou imagens de contêiner, porque eles carregam o próprio runtime. Quem usa o .NET 11 RC2 precisa migrar para o RC3, o que também importa se você levou a licença go-live do RC2 para produção antes da GA de novembro.

Em abril, o .NET 10.0.7 também foi lançado fora de banda para corrigir o CVE-2026-40372 no Data Protection. Como naquela vez, a solução é atualizar e reimplantar, e problemas após a atualização devem ser reportados em dotnet/core issues.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Voltar