Voltar para o Labs
Fraqueza (CWE)

CWE-502

Desserialização de Dados Não Confiáveis

Sobre

O produto desserializa dados não confiáveis sem assegurar suficientemente que os dados resultantes serão válidos.

Consequências comuns

  • Integridade → Modificar Dados da Aplicação, Estado Inesperado
  • Disponibilidade → DoS: Consumo de Recursos (CPU)
  • Outro → Varia conforme o Contexto

Mitigações

  • Arquitetura e Design, Implementação: Se disponível, use os recursos de assinatura/selagem (signing/sealing) da linguagem de programação para assegurar que os dados desserializados não tenham sido adulterados. Por exemplo, um código de autenticação de mensagem baseado em hash (HMAC) poderia ser usado para garantir que os dados não tenham sido modificados.
  • Implementação: Ao desserializar dados, popule um novo objeto em vez de apenas desserializar. O resultado é que os dados fluem por uma validação de entrada segura e que as funções são seguras.
  • Implementação: Defina explicitamente um object() final para impedir a desserialização.
  • Arquitetura e Design, Implementação: Torne os campos transientes (transient) para protegê-los da desserialização. Uma tentativa de serializar e depois desserializar uma classe que contém campos transientes resultará em NULLs onde os dados transientes deveriam estar. Essa é uma excelente forma de impedir que variáveis temporais, baseadas em ambiente ou sensíveis sejam transportadas e usadas de form
  • Implementação: Evite ter tipos ou gadgets desnecessários (uma sequência de instâncias e invocações de método que pode se autoexecutar durante o processo de desserialização, frequentemente encontrada em bibliotecas) disponíveis, que possam ser aproveitados para fins maliciosos. Isso limita o potencial de que tipos e gadgets não pretendidos ou não autorizados sejam aproveitados pelo atacante. Adicio
  • Arquitetura e Design, Implementação: Empregue criptografia dos dados ou do código para proteção. No entanto, é importante observar que isso ainda seria segurança do lado do cliente. Isso é arriscado porque, se o cliente for comprometido, então a segurança implementada no cliente (a criptografia) pode ser contornada.

CVEs com esta fraqueza

Perguntas frequentes

O que é CWE-502?

O produto desserializa dados não confiáveis sem assegurar suficientemente que os dados resultantes serão válidos. Consequências comuns Integridade → Modificar Dados da Aplicação, Estado Inesperado Disponibilidade → DoS: Consumo de Recursos (CPU) Outro → Varia conforme o Contexto Mitigações Arquitetura e Design, Implementação: Se disponível, use os recursos de assinatura/selagem (signing/sealing) da linguagem de progr…

Qual a probabilidade de CWE-502 ser explorada?

A MITRE classifica a probabilidade de exploração de CWE-502 como medium.

Quais plataformas CWE-502 afeta?

CWE-502 já foi observada em: Java, Ruby, PHP, Python, JavaScript, Not Technology-Specific, ICS/OT, AI/ML.

Quantas CVEs a Rainforest acompanha para CWE-502?

O Rainforest Labs acompanha atualmente 9 CVEs publicadas associadas a CWE-502. Elas estão listadas nesta página.

Potencialize sua estratégia de segurança com a Rainforest

Descubra vulnerabilidades cedo, priorize ameaças críticas e proteja o que realmente importa. A Rainforest simplifica suas operações de segurança, economizando tempo e reduzindo custos, para você focar no que move o seu negócio.