Imagen ilustrativa generada con IA
CVE-2026-16723: RCE crítica en Fastjson 1.x, explotación activa en entornos Spring Boot
CVE-2026-16723: vulnerabilidad RCE crítica en Fastjson 1.x con explotación activa en entornos Spring Boot. Sin parche disponible, aplica mitigaciones.
Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA
Introducción
El 21 de julio de 2026 Alibaba publicó un aviso sobre CVE-2026-16723, una vulnerabilidad de ejecución remota de código (RCE) de gravedad crítica (CVSS 9.0) que afecta a la librería Java Fastjson 1.x. La falla, descubierta por el investigador Kirill Firsov (FearsOff Cybersecurity), permite a un atacante no autenticado tomar el control del proceso Java simplemente enviando una solicitud JSON maliciosa. Al día siguiente, ThreatBook registró los primeros intentos de explotación activa, posteriormente confirmados por Imperva. La brecha afecta exclusivamente a aplicaciones Spring Boot empaquetadas como fat‑JAR ejecutable en las que la modalidad SafeMode se haya mantenido deshabilitada (condición predeterminada). Hasta el 25 de julio, última actualización disponible, aún no existía un parche correctivo para la rama 1.x, lo que hace imprescindibles las mitigaciones.
Análisis técnico
La vulnerabilidad reside en el mecanismo de deserialización basado en la clave @type. Incluso con AutoType deshabilitado, un payload que contenga un @type manipulado desencadena una búsqueda de recursos (resource probe) que, en el contexto de un fat‑JAR Spring Boot, recupera bytecode controlado por el atacante a través de una ruta JAR anidada. En JDK recientes, el exploit aprovecha el sistema de archivos virtual /proc/self/fd para eludir las restricciones y obtener una referencia a un JAR remoto, sin necesidad de gadgets preexistentes en el classpath.
La única condición necesaria es que el servidor exponga un endpoint que analice JSON mediante métodos como JSON.parse o parseObject(String). La solicitud maliciosa puede inyectarse incluso dentro de campos Object o Map anidados, volviendo inútil cualquier protección basada en un control superficial del esquema. El ataque es de preautenticación, no requiere credenciales y deriva en la ejecución de código arbitrario con los privilegios del proceso Java.
Impacto
El impacto es total: desde la exfiltración de datos hasta la instalación de malware, pasando por el movimiento lateral hacia otros sistemas internos. Las primeras campañas, observadas a partir del 22 de julio, han apuntado principalmente a los sectores financiero, sanitario, retail y TI en Estados Unidos, con incidentes menores en Singapur y Canadá. Aún no se han difundido datos sobre compromisos confirmados, pero la facilidad de explotación hace que el riesgo sea real para cualquier organización que utilice las versiones afectadas.
El 23 de julio, el programa CISA‑ADP evaluó la explotación como “ausente”, por lo que la CVE no fue incluida en el catálogo Known Exploited Vulnerabilities. Sin embargo, esta evaluación contrasta con las evidencias recopiladas por los proveedores de seguridad, lo que subraya un panorama en rápida evolución.
Mitigación
Dado que no está previsto ningún lanzamiento correctivo para la rama 1.x —la versión 1.2.83, hasta hace poco la última estable, ahora se encuentra dentro del intervalo vulnerable—, es necesario adoptar de inmediato una de las siguientes contramedidas:
- Habilitar SafeMode agregando el flag de JVM
-Dfastjson.parser.safeMode=true. De esta forma, la funcionalidad@typese desactiva radicalmente, impidiendo el desencadenamiento del exploit. - Reemplazar la dependencia con el artefacto restringido
com.alibaba:fastjson:1.2.83_noneautotype, que inhibe la búsqueda de recursos manteniendo la compatibilidad con el código existente. - Planificar la migración a Fastjson2, que no utiliza el mismo mecanismo de resource probe y no está afectado por la vulnerabilidad.
Acciones complementarias de detección y hardening:
- Inventariar todas las ocurrencias de Fastjson (incluidas las transitivas) en los entornos de desarrollo, pruebas y producción.
- Monitorizar los logs en busca de
@typeasociados a rutas JAR anidadas, conexiones de red anómalas, generación de procesos hijo o escrituras sospechosas en el sistema de archivos (p. ej., web shells). - Verificar que los métodos de parseo no acepten JSON de fuentes no confiables, incluso cuando aparentemente estén vinculados a clases fijas.
FAQ
¿Qué versiones de Fastjson son exactamente vulnerables?
Están en riesgo las versiones desde la 1.2.68 hasta la 1.2.83, pero solo si la aplicación es un fat‑JAR ejecutable de Spring Boot y SafeMode no ha sido habilitado (valor por defecto). Los JAR simples, los uber‑JAR genéricos y los despliegues WAR en Tomcat/Jetty no presentan la condición necesaria para la explotación.
¿Mi aplicación está en riesgo incluso con AutoType deshabilitado?
Sí. El ataque no aprovecha la funcionalidad AutoType, sino una búsqueda interna de recursos que se activa al recibir un @type manipulado. Deshabilitar AutoType no es suficiente para bloquear el payload, como tampoco lo es la ausencia de gadgets en el classpath.
No puedo migrar de inmediato a Fastjson2: ¿qué debo hacer ahora?
Las dos mitigaciones inmediatas —activar SafeMode o adoptar el artefacto 1.2.83_noneautotype— ofrecen una protección completa sin necesidad de modificar el código de la aplicación. Ambas son retrocompatibles y pueden aplicarse de inmediato, mientras se completa la transición a Fastjson2.
Fuentes
Este artículo es una reelaboración original basada en las siguientes fuentes.
