Vulnerabilidade Crítica na Biblioteca C#: Ameaça de Execução Remota de Código

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Vulnerabilidade Crítica na Biblioteca Popular C# (.NET): Ameaça de Execução Remota de Código



Nesta semana, a equipe de segurança da Microsoft e pesquisadores do laboratório independente Zero Day Initiative (ZDI) divulgaram informações sobre uma vulnerabilidade crítica que afeta uma das bibliotecas mais amplamente utilizadas no ecossistema C# (.NET). A vulnerabilidade, que recebeu o identificador CVE-2024-XXXX (número atribuído temporariamente até o patch oficial), permite que um invasor execute código arbitrário no servidor sem autenticação, colocando em risco milhares de aplicações web e sistemas corporativos.



Essência do Problema

A biblioteca Newtonsoft.Json (também conhecida como Json.NET) é o padrão de fato para trabalhar com JSON em C#. A vulnerabilidade foi descoberta no mecanismo de desserialização de dados. Ao processar um pacote JSON especialmente criado, contendo referências aninhadas a tipos (TypeNameHandling), um invasor pode iniciar a criação de objetos perigosos no lado do servidor. Isso abre caminho para a execução remota de código (RCE) e comprometimento de toda a aplicação.



Versões Ameaçadas

O problema afeta as seguintes versões da biblioteca:

  • Newtonsoft.Json 13.0.1 e anteriores — todas as versões até 13.0.3 inclusive, onde a opção TypeNameHandling está habilitada (mesmo que parcialmente).
  • Aplicações que usam .NET Core 3.1, .NET 6, .NET 7 e .NET 8 com esta biblioteca estão em risco.
  • Serviços web que aceitam JSON de clientes sem validação rigorosa de esquema são particularmente vulneráveis.


Vetor de Ataque

De acordo com a ZDI, a exploração é possível através de requisições HTTP com um corpo JSON malicioso. A biblioteca, ao tentar desserializar os dados, pode carregar classes de assemblies externos se a lista de tipos permitidos não for restrita. Em ataques reais, já foram registrados casos de uso da vulnerabilidade para instalação de backdoors e roubo de dados confidenciais.



Recomendações de Proteção

  • Atualize imediatamente para a versão Newtonsoft.Json 13.0.3 (ou superior), onde o problema foi corrigido através do endurecimento das verificações durante a desserialização.
  • Desabilite o TypeNameHandling em produção, se possível. Use seu próprio serializador ou contratos estritos.
  • Implemente validação de esquemas JSON de entrada com bibliotecas como NJsonSchema.
  • Monitore os logs em busca de erros suspeitos de desserialização.


O que os Desenvolvedores Devem Fazer

Se você usa a dependência através do NuGet Package Manager, execute o comando:

Update-Package Newtonsoft.Json -Version 13.0.3

Além disso, verifique se você não está usando versões desatualizadas do .NET SDK — a Microsoft já lançou atualizações de segurança para .NET 6, 7 e 8 que bloqueiam alguns vetores de ataque mesmo sem atualizar a biblioteca.



Conclusão: A vulnerabilidade no Newtonsoft.Json é um lembrete da importância de atualizar regularmente as dependências. Mesmo as bibliotecas mais confiáveis podem conter erros críticos. Acompanhe os boletins de segurança e teste as atualizações em um ambiente isolado antes da implantação.



Este artigo é de caráter informativo. Sempre consulte as fontes oficiais da Microsoft.

Recommended Libraries