Se ha revelado una vulnerabilidad de seguridad crítica en Gogs, un popular servicio Git autohospedado de código abierto, que permite a un usuario autenticado ejecutar código arbitrario bajo ciertas condiciones.
La falla de seguridad, según Rapid7, tiene una calificación de 9,4 en el sistema de puntuación CVSS. No tiene un identificador CVE.
«La vulnerabilidad permite a cualquier usuario autenticado lograr la ejecución remota de código (RCE) en el servidor mediante la creación de una solicitud de extracción con un nombre de rama malicioso que inyecta el indicador –exec en git rebase durante la operación de fusión ‘Rebase antes de fusionar'», dijo el investigador de seguridad Jonah Burgess.
Rebasar es una acción de Git que se utiliza para tomar una secuencia de confirmaciones de una rama de características y reproducirlas encima de otra rama base para crear un historial de proyecto lineal. Mientras que «git rebase» resuelve el mismo problema que «git merge» (es decir, integrar cambios de una rama en otra), el primero reescribe el historial del proyecto creando nuevas confirmaciones para cada confirmación en la rama original.
La acción «git rebase» también acepta como argumento un comando de shell a través de un indicador –exec que se ejecuta después de que se reproduce cada confirmación. Un aspecto notable de la vulnerabilidad es que no requiere privilegios de administrador ni interacción con otros usuarios. Para llevar a cabo el ataque, todo lo que un actor de amenazas no autenticado tiene que hacer es crear una cuenta y un repositorio en cualquier instancia configurada de forma predeterminada.
«Cualquier usuario registrado que cree un repositorio es automáticamente su propietario», dijo Burgess. «A partir de ahí, habilitar la fusión de rebase es un solo cambio en la configuración, y toda la cadena de exploits se puede operar sin la interacción de ningún otro usuario».
En un escenario alternativo, un usuario con acceso de escritura a un repositorio donde el rebase ya está habilitado puede explotar la falla directamente para obtener la ejecución del código. En las instancias de Gogs donde la creación de repositorios está restringida, se requiere que un atacante tenga acceso de escritura a cualquier repositorio que tenga habilitada la combinación de rebase.
Al momento de escribir este artículo, la vulnerabilidad sigue sin parchear a pesar de que se informó al responsable del mantenimiento el 17 de marzo de 2026. La explotación exitosa del error podría brindarle a un atacante la capacidad de violar el servidor, acceder a todos los repositorios de la instancia, volcar credenciales, pasar a otros sistemas accesibles en la red y alterar el código de cualquier repositorio alojado.
Es más, puede provocar una filtración de datos entre inquilinos, lo que permite al atacante leer los repositorios privados de otros usuarios alojados en el mismo servidor compartido. Según Rapid7, la falla afecta a todas las plataformas compatibles, como Windows, Linux y macOS.
Se estima que hay 1.141 instancias de Gogs conectadas a Internet. Sin embargo, se espera que la cifra real sea mayor, dado que la mayoría de las implementaciones se ubican detrás de VPN o redes internas.
A falta de un parche, se describen las siguientes recomendaciones:
- Restringir el registro de usuarios (DISABLE_REGISTRATION = true en app.ini) para evitar que usuarios que no son de confianza creen cuentas
- Restringir la creación de repositorios (MAX_CREATION_LIMIT = 0 en app.ini) para evitar que los usuarios creen sus propios repositorios
- Auditar la configuración de fusión de rebase
Rapid7 también ha creado un módulo Metasploit que automatiza la cadena completa de exploits contra objetivos Linux y Windows. El módulo admite dos modos: un modo predeterminado en el que se crea un repositorio temporal en la cuenta del atacante, se ejecuta el exploit y se elimina el repositorio. El segundo enfoque apunta a un repositorio al que el atacante ya tiene acceso de escritura y fusión.
«Cuando el atacante crea y elimina su propio repositorio, el único rastro es un HTTP 500 en los registros del servidor», dijo el experto en ciberseguridad. «Cuando se explota un repositorio existente, quedan artefactos adicionales».