Un investigador de 16 años halló una falla en Titan, el servicio interno de analítica de Microsoft, y accedió a metadatos, cuentas y paneles. La compañía cerró el acceso y le pagó 5.000 dólares.
Un investigador de seguridad de 16 años encontró una falla en Titan, el servicio interno de analítica de Microsoft, y logró ejecutar consultas como administrador al manipular un token y usar el usuario «admin». El acceso le permitió ver metadatos, cuentas de correo y paneles internos antes de que la compañía cerrara la puerta días después.
Un token sin firma abrió la puerta
El caso comenzó el 25 de agosto, cuando Faav y su herramienta de IA Antares localizaron la API de Titan. Aunque la web del servicio solo era accesible para personal interno, la interfaz quedó expuesta en un host de Azure y, durante diez días, probaron variaciones de un token hasta comprobar que el servidor aceptaba tokens sin firma.
Faav no logró dar con un usuario que Titan reconociera, así que cambió el campo por «admin». Con ese ajuste, el sistema trató la sesión como un usuario local con rol de administrador y ejecutó la consulta.
Este tipo de debilidad ya había sido señalada en vulnerabilidades críticas que afectan a bibliotecas de token web JSON, un estándar que sigue dependiendo de que la verificación se haga correctamente en el servidor.
Qué pudo ver y cómo respondió Microsoft
Según el investigador, el acceso le permitió ver metadatos de la plataforma, unas 25.000 cuentas, 17.990 correos de empleados y 24.569 paneles de control. También comprobó que el servicio conectaba con 17 bases de datos de analítica que, en su estimación, sumaban unos 17,3 billones de filas.
Faav reportó el hallazgo al Microsoft Security Response Center el mismo 5 de septiembre. La compañía cerró el acceso el 9 y le pagó 5.000 dólares el 17, de acuerdo con lo que explica en su blog.
La vulnerabilidad quedó en el plano hipotético: el investigador aclara que no tocó datos de clientes y que solo revisó metadatos y dos muestras de una fila de datos de Bing. Aun así, el caso sirve como recordatorio de que una API no debe asumirse segura solo porque su web esté oculta.
La lección: validar la firma siempre
La propia documentación de Azure Application Gateway explica que un token debe validar firma, emisor, destinatario y caducidad. En este caso, Titan comprobaba el contenido del token, pero no su firma, y eso anulaba el resto de las verificaciones.
La historia también muestra cómo la inteligencia artificial puede servir de apoyo en la caza de fallas, sin reemplazar el criterio humano. Antares aportó la constancia de probar durante días; la idea de usar «admin» fue de Faav.
El problema, sin embargo, no es nuevo. En 2015, Tim McLean mostró fallas graves en varias bibliotecas de token web JSON, y cinco años después el Grupo de Trabajo de Ingeniería de Internet publicó el documento RFC 8725 con buenas prácticas de seguridad para ese estándar.
Contenido redactado con asistencia de un LLM.