← volver
CVE-2021-27852criticalbajo ataqueCWE-502

CVE-2021-27852

70Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA.

ssvc Actcvss 9.8epss 32%
de la publicación al arma
Publicada en NVD27 may
CISA KEV+319d
probabilidad de explotación
32%top 2% de las CVE
explotación observada
CISA + VulnCheck
Acción exigida por CISAplazo federal: 2022-05-02

Versions 6 and earlier for this product are end-of-life and must be removed from agency networks. Versions 7 and later are not considered vulnerable.

Resumen

Checkbox Survey, aplicação ASP.NET para criação de formulários e pesquisas, implementa sua própria versão de View State e desserializa esse dado com LosFormatter sem validação de integridade, permitindo execução remota de código não autenticada. A falha está confirmada como explorada ativamente e consta no catálogo KEV da CISA, que determina a remoção imediata de versões 6 e anteriores — não há prazo de "atualizar quando possível" aqui, o produto é tratado como fim de vida.

Detalle técnico

O ASP.NET nativo usa View State para persistir estado de página entre requisições, protegido por um Message Authentication Code (MAC) que impede alteração do payload serializado pelo cliente. O Checkbox Survey, em vez de usar esse mecanismo padrão, implementa sua própria lógica de View State: recebe um parâmetro _VSTATE na requisição e o desserializa diretamente via System.Web.UI.LosFormatter. Como essa manipulação é feita pelo código da aplicação e não pelo pipeline padrão do ASP.NET, a configuração de MAC do servidor é ignorada — o dado nunca passa pela verificação de assinatura que normalmente protegeria contra adulteração.

Isso é uma Deserialization of Untrusted Data (CWE-502) clássica: o atacante controla integralmente o conteúdo do campo _VSTATE, e o LosFormatter desserializa qualquer objeto .NET serializado ali, sem checagem de tipo ou origem. Em cenários de desserialização insegura no .NET, isso tipicamente permite construir cadeias de gadgets (ObjectDataProvider e afins, dependendo do que está carregado no AppDomain) que resultam em execução arbitrária de código no contexto do processo do servidor web.

O ponto crítico é a ausência de MAC: mesmo que o ASP.NET subjacente estivesse configurado corretamente para proteger View State nativo, a lógica customizada do Checkbox Survey contorna essa proteção porque ela mesma faz o parsing e a desserialização do parâmetro, fora do fluxo que o framework protegeria.

Cómo se explota

O vetor é uma requisição HTTP especialmente construída contendo um parâmetro _VSTATE malicioso, enviada a qualquer instância pública do Checkbox Survey vulnerável. Não é necessária autenticação, interação do usuário, nem configuração não padrão — a falha está no comportamento padrão da aplicação em qualquer instalação de versão anterior à 7.0. A complexidade de ataque é baixa: quem entende a mecânica de desserialização de View State no .NET (LosFormatter/gadgets conhecidos do ecossistema) tem tudo que precisa para montar o payload.

O resultado final é execução de código arbitrário com os privilégios do processo do servidor web (IIS/w3wp.exe, tipicamente). Isso dá ao atacante controle equivalente a comprometimento do host onde a aplicação corre, não apenas da aplicação em si.

A CISA confirma exploração em campo (entrada no KEV) e o CERT/CC também registra relatos de exploração ativa. Não há detalhes públicos sobre quais campanhas ou atores usaram a falha, apenas a confirmação de que ela foi/é explorada.

Versiones

Afectadas
Checkbox Survey versões anteriores à 7.0 (linha 6.x e anteriores).
Corregidas en
Checkbox Survey 7.0 e posteriores (remoção do uso de View State customizado elimina a vulnerabilidade).

Cómo protegerse

A correção do fornecedor é migrar para Checkbox Survey 7.0 ou posterior, versão que eliminou o uso de View State customizado — a partir dela a vulnerabilidade não existe estruturalmente, não é uma configuração que se liga ou desliga. Não há patch para a linha 6.x: o fornecedor não mantém mais essa versão.

Para quem não pode migrar imediatamente, a única mitigação real reconhecida pelo CERT/CC e pela CISA é remover o Checkbox Survey (versão 6 ou anterior) dos sistemas expostos. Não existe workaround de configuração documentado que neutralize a falha mantendo a versão vulnerável em produção — como a checagem de MAC do ASP.NET é ignorada pela lógica própria da aplicação, ajustar configurações do IIS/ASP.NET (como forçar MAC) não resolve, porque o problema está no código do CheckboxWeb.dll, não no framework.

Controles compensatórios como WAF podem reduzir a superfície bloqueando padrões conhecidos do parâmetro _VSTATE malformado, mas isso é mitigação de perímetro, não remediação — a CISA determina remoção do software, não apenas isolamento de rede, para agências federais dos EUA sob a diretriz do KEV.

Cómo detectar

Sinal de tentativa de exploração em logs de acesso web: requisições HTTP contendo o parâmetro _VSTATE com payloads anormalmente grandes, malformados ou com estrutura de dados serializados .NET (frequentemente reconhecíveis por prefixos binários típicos de LosFormatter/BinaryFormatter) fora do padrão esperado de um campo de estado de formulário legítimo. Erros de desserialização nos logs de aplicação/IIS relacionados a LosFormatter ou exceções de tipo inesperado no processamento de _VSTATE também são indício.

Não há assinatura única e confiável publicada pelo fornecedor ou pelo CERT/CC para identificar exploração retroativamente — a detecção depende de inspeção manual de logs de requisição em busca do parâmetro _VSTATE anômalo e de monitoramento de comportamento anômalo do processo do servidor web (spawns de processo inesperados, por exemplo) após requisições a endpoints do Checkbox Survey.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
Deserialization of Untrusted Data vulnerability in CheckboxWeb.dll of Checkbox Survey allows an unauthenticated remote attacker to execute arbitrary code. This issue affects: Checkbox Survey versions prior to 7.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Productos afectados
Checkbox · Survey