GCSA Global Cybersecurity Alliance publicó un informe que detalla una explotación RCE de Fastjson 1.2.83 reproducida en múltiples versiones de JDK.
La GCSA Global Cybersecurity Alliance publicó hoy exclusivamente un informe técnico: Fastjson 1.2.83 puede desencadenar ejecución remota de código (RCE) sin depender de dependencias Gadget tradicionales, incluso con la configuración predeterminada AutoType=false. Esta técnica de explotación se ha reproducido con éxito de extremo a extremo en JDK 8, 17, 21 y 25, así como en entornos de aislamiento Spring Boot Loader.
Esta vulnerabilidad no es un ataque tradicional de "bypass de lista negra para encontrar un Gadget local". En cambio, subvierte directamente la lógica de detección de metadatos de clase de Fastjson para servir como canal para adquirir clases maliciosas remotas. Un atacante que pueda controlar la entrada JSON analizada por Fastjson — con SafeMode deshabilitado y acceso a red saliente disponible — puede lograr ejecución remota de código sin autenticación sin requerir dependencias Gadget tradicionales preinstaladas (como TemplatesImpl, JNDI o Commons Collections) en el classpath de destino.
Los resultados de reproducción confirman que el mismo payload JSON logra RCE exitoso en Temurin JDK 8, 17, 21 y 25 con entornos Spring Boot Loader. La vulnerabilidad se califica como de alta gravedad: el vector de ataque es remoto por red, no requiere interacción del usuario, y el impacto en confidencialidad, integridad y disponibilidad se califica como alto.
Hallazgos clave
"AutoType está deshabilitado por defecto, así que es seguro" — Inválido
"Se corrigió el segundo parámetro de parseObject, así que es seguro" — Inválido
"No hay Gadgets conocidos en el classpath, así que es seguro" — Inválido
"JDK 17+ rechaza nombres internos http://, así que como máximo es SSRF" — Inválido
Recomendaciones de defensa
- Habilite inmediatamente SafeMode: ParserConfig.getGlobalInstance().setSafeMode(true);
- Migre a Fastjson 2.x como prioridad y complete las pruebas de regresión
- Restrinja las políticas de red salientes: bloquee conexiones HTTP de JVM a direcciones externas no esenciales
- Implemente reglas WAF/gateway para bloquear solicitudes JSON donde la clave decodificada sea igual a @type






