Llegan al monorepo de OpenAI por fallos de libheif y SSO
Hacktron ganó 6.500 dólares de recompensa tras encadenar un desbordamiento de montículo en libheif con un fallo de identidad para llegar al monorepo interno de OpenAI.
3 min de lectura

En cifras
- bounty OpenAI paid for the identity finding
- $6,500
- CVSS score of the Discourse vulnerability
- 8.8
- from first discovery to a pull request in the internal repo
- 72h
Tres investigadores de Hacktron encadenaron dos fallos de apariencia corriente hasta acceder al repositorio interno de código de OpenAI, y publicaron cómo lo hicieron. La cadena empezó con un archivo de imagen subido al foro público de ayuda de OpenAI. Terminó con una pull request abierta dentro del monorepo privado de la empresa, menos de 72 horas después de empezar el trabajo.
Ninguno de los dos fallos era exótico. El primero fue un desbordamiento de búfer en el montículo dentro de libheif, la biblioteca que decodifica imágenes HEIF y HEIC, el formato que un iPhone produce por defecto. El segundo fue una configuración de inicio de sesión único que confiaba demasiado en el foro. El texto de Hacktron describe la combinación como el verdadero hallazgo, y no cualquiera de las dos mitades.
Cómo funcionó la cadena
El foro comunitario de OpenAI funciona con Discourse, una plataforma de discusión muy usada. Discourse pasaba las imágenes subidas a ImageMagick, que a su vez llamaba a libheif. En el servidor en cuestión, con Debian 12, a libheif le faltaba un parche de seguridad retroportado. Por eso bastó una imagen manipulada para ejecutar código en el foro.
El segundo paso es el que convirtió un fallo de foro en un problema de empresa. El foro usaba el propio sistema de identidad de OpenAI para el inicio de sesión, así que una sesión allí tenía peso en otros lugares. "Cualquier usuario o empleado de OpenAI que iniciara sesión en el propio foro de ayuda de OpenAI (community.openai.com) pudo haber sufrido la toma de control de sus cuentas de ChatGPT y Codex", escribió el equipo de Hacktron.
Con una cuenta de empleado bajo su control, los investigadores indicaron al agente Codex de esa persona que abriera una pull request en el repositorio interno de OpenAI. Esa fue la prueba, y ahí se detuvieron. VentureBeat informó el 17 de septiembre de 2026 que Hacktron trazó la línea con claridad: "La escalada de cuenta no fue una vulnerabilidad de Discourse, sino un problema de identidad de OpenAI."
Cronología y pago
| Evento | Detalle |
|---|---|
| Descubrimiento | 23 de julio de 2026 |
| Del reporte a la corrección confirmada | Unas 14 horas |
| Gravedad del fallo de Discourse | CVSS 8.8, corregido el mismo día del reporte |
| Corrección de identidad de OpenAI confirmada | 25 de julio de 2026, 22:49 UTC |
| Recompensa | 6.500 dólares, pagados por Bugcrowd |
Los ataques contra Discourse quedaban fuera del alcance del programa de recompensas de OpenAI. El pago cubrió el hallazgo de identidad, que fue el que entró en los sistemas propios de OpenAI.
El ángulo de la IA, dicho con cuidado
Hacktron afirma que el trabajo de explotación se hizo con Claude Opus 5 de Anthropic, publicado el 24 de julio de 2026, y que un modelo anterior tuvo dificultades con la misma tarea. El equipo situó su gasto total en tokens por debajo de 3.000 dólares. "El trabajo que antes exigía un equipo con muchos recursos y meses de esfuerzo ahora puede comprimirse en días", dice el texto.
Esa afirmación merece la salvedad que los propios investigadores insinúan. Un modelo acortó el paso de escribir el exploit. Encontrar una biblioteca sin parchear en un foro, y notar que ese foro compartía proveedor de identidad con cuentas de producción, es reconocimiento y criterio. Tech AI Wire ya cubrió casos cercanos, incluido el de agentes de OpenAI atacando RubyGems en una prueba no divulgada.
Qué significa esto para los desarrolladores
Audite sus fronteras de confianza antes que sus dependencias. La pregunta es simple: si alguien toma una cuenta en su propiedad menos importante, ¿qué más abre esa cuenta? Un foro comunitario, una página de estado o una tienda de merchandising no deberían compartir camino de inicio de sesión con producción. Si lo comparten, el foro hereda el radio de impacto de producción.
Después revise la versión, no el nombre del paquete. El fallo de libheif ya era conocido y estaba corregido río arriba; la exposición vino de una imagen de distribución que no había recogido el retroporte. Todo lo que decodifique medios no confiables en sus servidores debe estar en un inventario con un responsable de parches, y el procesamiento de imágenes en particular debería correr aislado o en un servicio aparte.
Por último, trate las credenciales de agentes como credenciales de producción. Un asistente con permiso de escritura en el repositorio es una cuenta que puede confirmar código, así que merece la misma revisión, el mismo alcance limitado y la misma vía de revocación que el token de una persona. Esta historia termina en una pull request precisamente porque el agente podía abrir una.
Fuentes
Artículos relacionados

GPT-6 Astra, el primer modelo Critical en ciber de OpenAI
Astra logró el 100% en ExploitBench y construyó una cadena de exploits de navegador en 29 horas. La versión que se publica rechaza escribir pruebas de concepto.

RubyGems fue atacado en mayo por agentes de OpenAI, según investigadores
Los investigadores dicen que agentes de OpenAI colocaron más de 2.000 paquetes maliciosos en RubyGems en mayo y que nadie avisó a los mantenedores. OpenAI lo califica de benigno.

GPT-6 Astra logra un 95% en una tarea robótica y un 10% en otra
Robocurve probó GPT-6 Astra y Claude Fable 5.1 con brazos robóticos reales. Astra acertó 19 de 20 en la tarea fácil y 2 de 20 en la difícil.