Análise aprofundada e guia de defesa para a vulnerabilidade 'sem gadget' do Fastjson 1.2.83 (0day)

vulnerabilidadesegurança cibernéticaFastjson0dayGCSARCE
2026-07-27Fonte: crypto.news
Análise aprofundada e guia de defesa para a vulnerabilidade 'sem gadget' do Fastjson 1.2.83 (0day)

A GCSA Global Cybersecurity Alliance divulgou um relatório detalhando uma exploração de RCE no Fastjson 1.2.83 reproduzida em múltiplas versões do JDK.

A GCSA Global Cybersecurity Alliance divulgou hoje exclusivamente um relatório de percepção técnica: o Fastjson 1.2.83 pode acionar execução remota de código (RCE) sem depender de dependências tradicionais de Gadget, mesmo com a configuração padrão AutoType=false. Essa técnica de exploração foi reproduzida com sucesso de ponta a ponta no JDK 8, 17, 21 e 25, bem como em ambientes de isolamento Spring Boot Loader.

Esta vulnerabilidade não é um ataque tradicional de "contornar a lista negra para encontrar um Gadget local". Em vez disso, ela subverte diretamente a lógica de detecção de metadados de classe do próprio Fastjson para servir como um canal para adquirir classes maliciosas remotas. Um atacante que possa controlar a entrada JSON analisada pelo Fastjson — com SafeMode desabilitado e acesso à rede externa disponível — pode alcançar execução remota de código não autenticada sem exigir quaisquer dependências tradicionais de Gadget pré-instaladas (como TemplatesImpl, JNDI ou Commons Collections) no classpath do alvo.

Os resultados da reprodução confirmam que o mesmo payload JSON alcança RCE com sucesso no Temurin JDK 8, 17, 21 e 25 com ambientes Spring Boot Loader. A vulnerabilidade é classificada como alta gravidade: o vetor de ataque é remoto pela rede, não requer interação do usuário, e o impacto na confidencialidade, integridade e disponibilidade é classificado como alto.

Principais descobertas

"AutoType está desabilitado por padrão, então é seguro" — Inválido

"Segundo parâmetro do parseObject corrigido, então é seguro" — Inválido

"Sem Gadgets conhecidos no classpath, então é seguro" — Inválido

"JDK 17+ rejeita nomes internos http://, então no máximo é apenas SSRF" — Inválido

Recomendações de defesa

  • Ative imediatamente o SafeMode: ParserConfig.getGlobalInstance().setSafeMode(true);
  • Migre para Fastjson 2.x como prioridade e complete os testes de regressão
  • Restrinja políticas de rede de saída: bloqueie conexões HTTP da JVM para endereços externos não essenciais
  • Implante regras de WAF/gateway para bloquear solicitações JSON onde a chave decodificada é igual a @type