Alibaba cumplió 9 de cada 10 pedidos y se desentendió sin ofrecer compensación.

La versión Fastjson 1.2.83 se consideró durante años como el último punto seguro para la rama antigua de la biblioteca, pero una nueva vulnerabilidad demostró lo contrario. El error CVE-2026-16723 (9.0, crítica) permite ejecutar código de forma remota en aplicaciones Spring Boot vulnerables incluso con la función AutoType desactivada y sin una clase peligrosa instalada previamente en el sistema.
El problema afecta a Fastjson en las versiones desde 1.2.68 hasta 1.2.83. Alibaba asignó a la vulnerabilidad una puntuación de 9,0 sobre 10. Para atacar, el atacante necesita acceso de red a la función que pasa JSON controlado por el atacante a la biblioteca Fastjson. La aplicación también debe ejecutarse como un archivo ejecutable de Spring Boot con dependencias incorporadas, y el modo seguro de la biblioteca debe permanecer desactivado.
La vulnerabilidad fue descubierta por Kirill Firsov de FearsOff Cybersecurity. El especialista determinó que Fastjson procesa el campo interno @type incluso con AutoType desactivado. Al comprobar el nombre de la clase, la biblioteca intenta localizar el recurso correspondiente a través del cargador de clases. Si en lugar del nombre de la clase se proporciona una dirección especialmente preparada, la aplicación puede solicitar a un servidor externo.
Al principio, esta técnica permite provocar una solicitud oculta en nombre del servidor. Luego el atacante puede obligar a la aplicación a descargar un archivo JAR remoto con una clase maliciosa. La anotación @JSONType dentro de esa clase se interpreta como un signo de confianza, tras lo cual Fastjson omite parte de las comprobaciones e intenta cargar la clase.
En Java 8 el código malicioso en algunas configuraciones se ejecuta inmediatamente después de cargar el JAR remoto. A partir de Java 9 la máquina virtual bloquea nombres de clase con ciertos caracteres, por lo que la variante directa deja de funcionar. Firsov encontró un método alternativo para versiones modernas de Java mediante el directorio /proc/self/fd en Linux.
Al cargar el JAR remoto, la máquina virtual de Java guarda temporalmente el archivo, lo abre y luego elimina el nombre del archivo del disco. El contenido sigue siendo accesible a través del descriptor de archivo abierto. El atacante recorre los números de esos descriptores y vuelve a indicar a Fastjson la ruta al JAR ya cargado. Tras la coincidencia, la biblioteca lee la clase maliciosa y ejecuta su código.
Alibaba comprobó el ataque en Spring Boot 2, 3 y 4 con Java 8, 11, 17 y 21. La vulnerabilidad depende del cargador especial de archivos ejecutables Spring Boot. Los archivos Java normales, las compilaciones universales y las aplicaciones en formato WAR para Tomcat o Jetty, según el aviso de Alibaba, no están afectados.
La solicitud peligrosa puede llegar a las funciones JSON.parse, JSON.parseObject(String) y JSON.parseObject(String, Class). Vincular los datos de entrada a una clase concreta no siempre protege la aplicación. El campo malicioso puede anidarse en un objeto que contenga el tipo genérico Object o una estructura Map.
ThreatBook informó que registró intentos de explotación después de añadir reglas de detección. La empresa pudo reproducir la ejecución de código en una aplicación Spring Boot sobre Java 8; sin embargo, la prueba con Tomcat integrado solo produjo la descarga del JAR remoto o la solicitud en nombre del servidor.
Imperva también detectó actividad sospechosa contra organizaciones de los sectores financiero, sanitario, comercio minorista y tecnológico. La mayoría de las solicitudes procedían de EE. UU.; una parte menor, de Singapur y Canadá. No obstante, ni ThreatBook ni Imperva revelaron el número de ataques, el contenido de las solicitudes, los nombres de las empresas afectadas ni confirmación de intrusión exitosa.
Al 25 de julio Alibaba no había publicado una versión corregida de Fastjson 1.x. Los desarrolladores recomiendan migrar a Fastjson2, donde no existe el mecanismo vulnerable. Como medida temporal se puede activar el modo seguro con el parámetro -Dfastjson.parser.safeMode=true o instalar la compilación limitada com.alibaba:fastjson:1.2.83_noneautotype.
Se aconseja a las empresas que verifiquen dependencias directas e indirectas de Fastjson, y que busquen en los registros valores inusuales de @type, referencias a JAR anidados, conexiones salientes inesperadas, ejecución de procesos hijos, aparición de archivos nuevos y shells de comandos en servidores web.
Fastjson 1.2.83 antes se recomendaba como actualización segura tras la divulgación en 2022 del bypass de AutoType. Ahora la última versión de la rama 1.x forma parte del rango vulnerable a CVE-2026-16723.