Investigadores de Parameter Labs descubrieron una sofisticada cadena de ataque que les permitió eludir los límites de seguridad de ChatGPT y tomar el control de las cuentas de los usuarios. La vulnerabilidad se centraba en la función de 'vista previa de HTML', que muestra aplicaciones HTML personalizadas e interactivas en un iframe con sandbox. Aunque estos marcos están diseñados para estar aislados de la página principal de ChatGPT para evitar el acceso a datos privados y APIs, una combinación de tres fallos distintos permitió que el código no confiable dentro de la vista previa 'escapara' del sandbox y ejecutara comandos en la ventana principal.

Una captura de pantalla de una página de uso compartido público de ChatGPT modificada para investigación de seguridad.
Los investigadores utilizaron una página de uso compartido público modificada para facilitar el escape del sandbox y la toma de control de la cuenta.www.parameter.ai

Esta imagen ilustra la estructura de la página modificada utilizada para iniciar la cadena de ataque descrita en el párrafo de apertura.

El primer eslabón de la cadena involucró la biblioteca JavaScript MathLive, que OpenAI utiliza para el soporte de gráficos. Esta biblioteca instaló un escuchador en la página principal de ChatGPT para manejar mensajes de su teclado virtual en pantalla. Debido a que el escuchador no verificaba el origen de las llamadas entrantes de `postMessage()`, aceptaba comandos de cualquier fuente, incluido el sandbox de la vista previa de HTML. Un atacante podía enviar un mensaje a este escuchador para actualizar el diseño del teclado con HTML personalizado. Cuando se activaba el teclado, la página principal utilizaba `innerHTML` para renderizar este diseño. Debido a que `innerHTML` no ejecuta etiquetas de script directamente, los investigadores utilizaron una segunda técnica: inyectar un nuevo `<iframe>` con un atributo `srcdoc`. Este nuevo marco fue creado por la página principal sin restricciones de sandbox, otorgándole la misma identidad web que `chatgpt.com` y permitiéndole acceder a los datos de la página principal.

El obstáculo final fue la Política de Seguridad de Contenido (CSP) de ChatGPT, que bloquea scripts en línea pero permitía scripts de un puñado de dominios, incluido YouTube. Los investigadores eludieron esto utilizando el punto de conexión oEmbed de YouTube, que admitía callbacks de estilo JSONP. Al diseñar un callback específico, pudieron obligar al navegador a cargar y ejecutar JavaScript arbitrario desde un dominio de confianza. Una vez que los investigadores lograron la ejecución de JavaScript dentro de la sesión autenticada de la víctima, pudieron obtener listas de conversaciones privadas, recuperar contenido de chats privados no compartidos y extraer esos datos a un servidor externo. OpenAI abordó la vulnerabilidad el 26 de octubre de 2026 y emitió una recompensa por errores de $5,000 por el descubrimiento. Aunque se confirma la corrección, los ajustes técnicos específicos realizados en la integración de MathLive o en las reglas de CSP no se revelan en el informe.

Una prueba de concepto que muestra datos de conversaciones privadas siendo extraídos de una sesión.
Los investigadores demostraron que los datos de conversaciones privadas podían extraerse con éxito de la sesión autenticada de una víctima.www.parameter.ai

Esta imagen proporciona una prueba visual de la etapa final del ataque, donde los datos privados se envían a un servidor externo.