Citando uma preocupação de segurança, a Microsoft anunciou que está removendo o BinaryFormatter
da plataforma de aplicativos de código aberto .NET 9 planejada. A Microsoft descreveu o risco de usar BinaryFormatter
em uma postagem de blog de 28 de agosto, afirmando: “Qualquer desserializador, binário ou texto, que permita que sua entrada carregue informações sobre os objetos a serem criados é um problema de segurança esperando para acontecer.” Um método desserializador pode ser usado como um vetor para ataques DDoS contra aplicativos de consumo.
A empresa postou links para uma definição de enumeração de fraqueza comum (CWE) descrevendo o problema: CWE-502: Desserialização de dados não confiáveis. Ao decidir remover o formatador do .NET 9, que deve ser lançado como uma versão de produção em novembro, a Microsoft disse que acredita fortemente que o .NET deve tornar fácil para os usuários fazerem a coisa certa e difícil, se não impossível, fazer a coisa errada. Enviar uma tecnologia que é amplamente considerada insegura contraria esse objetivo, disse a empresa.
BinaryFormatter
foi anteriormente excluído do .NET Core 1.0, mas a demanda do cliente o restabeleceu no .NET Core 2.0. Desde então, houve um caminho para remover BinaryFormatter
desativando-o lentamente por padrão em vários tipos de projetos, mas oferecendo sinalizadores de aceitação, se ainda necessário, para compatibilidade com versões anteriores.