El zero-day de Oracle PeopleSoft explotado por ShinyHunters eran en realidad tres fallos encadenados
La vulnerabilidad crítica de Oracle PeopleSoft que el grupo de extorsión ShinyHunters lleva abusando desde finales de mayo no es un único fallo. Los detalles técnicos ahora disponibles muestran que CVE-2026-35273, el identificador que Oracle usó al publicar su corrección de emergencia el 10 de junio, cubre tres debilidades distintas en dos componentes de PeopleSoft. Encadenadas, permiten a un atacante sin credenciales ejecutar comandos en el servidor.
Se están asignando identificadores CVE separados para cada fallo, pero de momento el de junio sigue siendo el único registrado. Los equipos que siguen "un solo CVE" deben entender que en realidad se enfrentan a una cadena.
Qué ocurrió
CVE-2026-35273 afecta a PeopleSoft PeopleTools 8.61 y 8.62, tiene una puntuación CVSS de 9,8 y permite tomar el control del servidor a través de la red sin autenticación. Oracle lo corrigió mediante una alerta de seguridad fuera de ciclo el 10 de junio, y el fallo figura ahora en el catálogo de vulnerabilidades explotadas conocidas (KEV) de CISA.
La corrección llegó tarde para las primeras víctimas. La actividad atribuida a ShinyHunters (también rastreado como UNC6240) explotó el fallo entre el 27 de mayo y el 9 de junio, sobre todo contra universidades. Como fue anterior al aviso de Oracle, se trató de un auténtico zero-day durante toda esa ventana. Una segunda oleada, mayor, en septiembre fue más allá de la educación y alcanzó a tecnología, servicios TI, sanidad, agricultura, transporte y administración pública, afectando a decenas de sistemas en todo el mundo.
Cómo funciona la cadena
Intervienen dos aplicaciones web. El Integration Gateway (PSIGW) intercambia mensajes con sistemas externos y está pensado para ser accesible. El Environment Management Hub (PSEMHUB) es una interfaz interna de administración que solo debería responder a hosts de confianza.
- Server-side request forgery en el gateway. El conector de escucha de PSIGW acepta una petición y la reenvía, y quien la envía controla tanto la dirección de destino como el contenido completo. Nada comprueba si el destino es legítimo.
- Un valor por defecto que confía en loopback. PSEMHUB decide en quién confiar comparando al solicitante con una lista del fichero allowedhosts.properties. Ese fichero viene de fábrica con 127.0.0.1 ya incluido. Basta apuntar el SSRF a la dirección local de loopback para que la petición parezca venir de la propia máquina: la comprobación pasa y el hub "interno" queda de repente accesible desde internet.
- Escritura arbitraria de ficheros en el hub. Con el hub accesible, un comando pensado para escribir entradas de registro permite al solicitante elegir tanto el contenido del fichero como la ruta exacta en disco.
A partir de ahí, dos rutas llevan a la ejecución de código. La directa deja un web shell en el directorio de la aplicación y ejecuta comandos con la cuenta de servicio de PeopleSoft. La silenciosa escribe un fichero XML malicioso que el hub interpreta con XMLDecoder de Java la próxima vez que arranca el servicio, ejecutando el código del atacante en el reinicio sin dejar ningún web shell. Esa segunda vía da mucho menos que detectar a los mecanismos habituales.
Por qué importa
La lección central es de diseño: una comprobación de confianza basada en la IP de origen no vale nada en cuanto existe un SSRF en el mismo host, y la entrada de loopback en la lista por defecto la dejó inútil desde el primer día. Las organizaciones que asumieron que un cortafuegos delante de PSEMHUB las cubría se equivocaron, porque la petición hostil llega desde dentro.
La oleada de septiembre también mostró lo frágil que es el "parcheo virtual". Las reglas de web application firewall que bloqueaban la ruta literal /PSEMHUB/ se sortearon codificando en URL un solo carácter y pidiendo /%50SEMHUB/. Muchas firmas de WAF comparan el texto literal, mientras que el servidor PeopleSoft lo decodifica sin problema y sirve la página.
Por último, el guion de ShinyHunters es robo de datos seguido de una exigencia de pago, así que un host PeopleSoft comprometido es una brecha con nota de extorsión, no solo un problema de disponibilidad.
Qué hacer
- Aplique el parche. Instale la corrección de la alerta de seguridad de Oracle para CVE-2026-35273 y manténgase en una versión de PeopleTools con soporte. El bloqueo de rutas en el WAF no sustituye al parche.
- Si no puede parchear de inmediato, desactive el servicio Environment Management Hub en despliegues multiservidor o elimine la aplicación PSEMHUB en los de servidor único. Restringir estos endpoints de administración no interrumpe las sesiones de los usuarios.
- Busque la vía silenciosa. Revise si hay ficheros JSP inesperados en el directorio web de PSEMHUB y ficheros XML inesperados o modificados recientemente en la carpeta de metadatos del entorno, donde reside la carga de ejecución diferida.
- Si ya puede estar comprometido, trate cualquier host con web shell como totalmente comprometido, preserve las evidencias y rote todas las credenciales alcanzables desde la capa PeopleSoft: cuentas de base de datos, credenciales de integración, cuentas de servicio y claves API almacenadas. Prepárese para un intento de extorsión.
- No dé por hecho que el parche expulsa al intruso. Aplicar la corrección cierra la puerta, pero nada en la guía del fabricante indica que elimine el acceso que un atacante ya haya establecido. La rotación de credenciales y la búsqueda de web shells parten precisamente de que no lo hace.
Las debilidades encadenadas como esta, en las que cada pieza parece tolerable por separado, son justo lo que un escáner que comprueba un número de versión no puede contarle y lo que un test de penetración bien delimitado está diseñado para sacar a la luz. Los trabajos de penetration testing de nuestro equipo ejercitan los pivotes SSRF hacia servicios internos, las suposiciones de confianza por defecto y las evasiones de WAF sobre aplicaciones de negocio expuestas al exterior como PeopleSoft, para que la cadena la encontremos nosotros y no el siguiente grupo de extorsión.
