CVE-2021-44207
Priorize a correção. Ela está sob exploração confirmada pelo CISA.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable. Please contact the product developer for support and vulnerability mitigation.
Resumo
O USAHERDS, sistema de gestão de saúde animal da Acclaim Systems usado por agências estaduais dos EUA, embarca valores estáticos de ValidationKey e DecryptionKey (MachineKey do ASP.NET) em todas as instalações até a versão 7.4.0.1. Quem obtém essas chaves — por qualquer meio, inclusive outra vulnerabilidade — pode forjar um ViewState malicioso que o servidor aceita como legítimo e desserializa, resultando em execução remota de código. A CVE está no catálogo KEV da CISA por exploração confirmada, mas o vetor real exige um passo prévio que a nota do fornecedor não destaca.
Detalhamento técnico
A falha é CWE-798 (uso de credenciais hard-coded). O ASP.NET Web Forms usa o par ValidationKey/DecryptionKey (o "MachineKey") para assinar (MAC) e criptografar o ViewState — o blob serializado que mantém estado de página entre requisições. Normalmente cada instalação gera essas chaves de forma única durante o setup; no USAHERDS, builds anteriores a novembro de 2021 distribuíam valores estáticos, idênticos em toda instalação do produto.
Como o servidor confia em qualquer ViewState cujo MAC valide com a ValidationKey conhecida, um atacante que descubra essas chaves — extraindo-as do binário/configuração do produto, de uma instalação de teste, ou de qualquer vazamento anterior — pode construir um ViewState arbitrário que passa a verificação de integridade e é desserializado no servidor. Esse é o mecanismo clássico de ataque a ViewState do ASP.NET (documentado por pesquisadores como Soroush Dalili e outros): a desserialização de um payload controlado pelo atacante gera execução de código no contexto do processo web.
A Mandiant classificou a exploitabilidade como 'baixa' justamente porque o pré-requisito — conhecer as chaves — não é trivial de obter remotamente sem outra falha ou acesso prévio ao código/binário do produto. O CVSS de 8.1 (AC:H, PR:N) reflete isso: sem privilégios prévios, mas com complexidade de ataque alta.
Como é explorada
O ataque não é 'ping e RCE'. O atacante precisa primeiro obter o par ValidationKey/DecryptionKey estático — via engenharia reversa do binário/instalador do USAHERDS, acesso a arquivos de configuração (web.config) de qualquer instalação do produto, ou vazamento por outro canal. Como a chave é a mesma em todas as instalações não corrigidas, uma vez obtida de uma cópia do software ela é reutilizável contra qualquer outra instância vulnerável exposta na internet.
Com a chave em mãos, o atacante monta um ViewState malicioso que passa a verificação MAC do servidor ASP.NET e força a desserialização de um payload de código arbitrário — a técnica de exploração de ViewState via MachineKey conhecida é publicamente documentada, embora a Mandiant e a CISA não tenham publicado exploit funcional. O resultado final é execução de código no contexto do processo web (IIS/ASP.NET) do servidor USAHERDS.
A CISA incluiu a CVE no catálogo KEV citando exploração confirmada em campo (adicionada em dezembro de 2024, três anos após a divulgação original), o que indica que atacantes conseguiram viabilizar o pré-requisito de obtenção da chave em ambientes reais — provavelmente combinando esta falha com outro vetor de acesso ou reutilizando chaves extraídas de cópias do software.
Versões
Como se proteger
O fornecedor confirmou à Mandiant que já havia liberado um patch corrigindo o problema antes mesmo da divulgação coordenada, em builds a partir de novembro de 2021. A correção real é gerar (ou fazer o instalador gerar) valores únicos de ValidationKey e DecryptionKey por instalação, eliminando o valor estático compartilhado — não há número de versão específico divulgado publicamente para essa correção, apenas a referência a 'builds de novembro de 2021 em diante'.
Se a atualização não for viável, o paliativo tecnicamente equivalente é regenerar manualmente o MachineKey (ValidationKey/DecryptionKey) no web.config da aplicação IIS com valores aleatórios exclusivos daquela instalação — isso neutraliza o reaproveitamento de chaves vazadas de outras cópias do produto, mas não corrige eventuais outras falhas do software. A CISA recomenda aplicar mitigação conforme instrução do fornecedor ou descontinuar o uso do produto caso não haja mitigação disponível — sinal de que o fornecedor tem suporte limitado ou o produto está em fim de vida.
Não adianta apenas trocar senhas de usuários ou reforçar autenticação de aplicação: o problema está na chave criptográfica de infraestrutura ASP.NET, não em credenciais de login. Restringir exposição do USAHERDS à internet e monitorar acesso à rede reduz a superfície, mas não elimina o risco se a chave estática já estiver comprometida em alguma cópia acessível ao atacante.
Como detectar
Não há assinatura de rede confiável e publicamente documentada para detectar exploração desta falha especificamente — o payload seria um ViewState (__VIEWSTATE) do ASP.NET, então requisições HTTP POST com campos __VIEWSTATE anormalmente grandes, malformados, ou originados de fontes inesperadas para páginas do USAHERDS merecem investigação, assim como falhas de validação de ViewState nos logs do IIS/ASP.NET (eventos de erro de desserialização) seguidas de comportamento anômalo do processo (spawns de processos filhos, conexões de saída inesperadas). Como a CISA confirma exploração em campo sem detalhar TTPs específicas, times de resposta devem tratar qualquer instalação legada do USAHERDS como potencialmente comprometida e priorizar a regeneração das chaves e revisão de integridade do servidor, não apenas a busca por logs.