CyberGlossary

Vulnerabilidades

Desserialização insegura

Também conhecido como: Desserialização não segura, Vulnerabilidade de desserialização de objetos

Definição

Vulnerabilidade em que uma aplicação desserializa dados não confiáveis, permitindo ao atacante instanciar objetos arbitrários e, com frequência, conseguir RCE.

Quando uma aplicação converte dados serializados (formatos binários Java/PHP/Python/.NET, YAML, JSON com metadados de tipo) de volta para objetos, o desserializador pode invocar construtores, métodos mágicos ou cadeias de gadgets. Com entrada não confiável, o atacante constrói payloads que disparam comportamento perigoso durante a desserialização — RCE, bypass de autenticação, escrita de ficheiros ou DoS. Cadeias de gadgets em Apache Commons Collections (Java), Pickle (Python) ou .NET BinaryFormatter causaram incidentes graves. Defesas: evitar desserializar dados não confiáveis, usar formatos sem recuperação de tipos (JSON simples com schema explícito), assinar payloads, allow-lists de tipos e atualizar os runtimes.

Exemplos

  • Aplicação Java a desserializar cookie de sessão com Commons Collections no classpath, resultando em RCE.
  • Serviço Python a executar pickle.loads sobre bytes controlados pelo utilizador.

Termos relacionados