
Se ha revelado una vulnerabilidad de seguridad crítica en Gogs, un popular servicio Git autohospedado de código abierto, que podría permitir a usuarios autenticados ejecutar código arbitrario bajo ciertas condiciones.
Según Rapid7, esta falla de seguridad tiene una calificación de 9,4 en el sistema de puntuación CVSS. No hay ningún identificador CVE.
«Esta vulnerabilidad permite a un usuario autenticado realizar ejecución remota de código (RCE) en un servidor mediante la creación de una solicitud de extracción con un nombre de rama malicioso que inyecta el indicador –exec para git rebase durante una 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 un conjunto de confirmaciones de una rama de características y reproducirlas en otra rama base para crear un historial de proyecto lineal. «git rebase» resuelve el mismo problema que «git merge»: fusionar cambios de una rama a otra, pero el primero reescribe el historial del proyecto creando una nueva confirmación para cada confirmación en la rama original.
La acción «git rebase» toma como argumento un comando de shell a través del indicador –exec que se ejecuta después de que se reproduce cada confirmación. Lo notable de esta vulnerabilidad es que no requiere privilegios de administrador ni interacción con otros usuarios. Para llevar a cabo un ataque, todo lo que un atacante no autenticado necesita hacer es crear una cuenta y un repositorio en una instancia con la configuración predeterminada.
«Un usuario registrado que crea un repositorio se convierte automáticamente en su propietario», afirma Burgess. «A partir de ahí, puede habilitar la fusión de rebase con un solo cambio de configuración y manipular toda la cadena de exploits sin ninguna interacción de otros usuarios».
En otro escenario, un usuario con acceso de escritura a un repositorio que ya tiene habilitado el cambio de base podría explotar directamente esta falla para ejecutar código. En instancias de Gogs donde la creación de repositorios está restringida, un atacante necesitaría acceso de escritura a un repositorio que tenga habilitada la combinación de rebase.
En el momento de redactar este artículo, esta vulnerabilidad sigue sin parchearse a pesar de que se informó a los administradores el 17 de marzo de 2026. La explotación exitosa de este error podría permitir a un atacante comprometer 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 los repositorios alojados.
Además, podría producirse una filtración de datos entre inquilinos, lo que permitiría a un atacante leer los repositorios privados de otros usuarios alojados en el mismo servidor compartido. Según Rapid7, esta falla afecta a todas las plataformas compatibles, incluidas Windows, Linux y macOS.
Se estima que hay 1.141 instancias de Gogs conectadas a Internet. Sin embargo, dado que la mayoría de las implementaciones están ubicadas detrás de una VPN o una red interna, esperamos que las cifras reales sean mayores.
Si no hay un parche disponible, se describen las siguientes recomendaciones:
Restrinja el registro de usuarios (DISABLE_REGISTRATION = true en app.ini) para evitar que usuarios que no son de confianza creen cuentas. Restrinja la creación de repositorios (MAX_CREATION_LIMIT = 0 en app.ini) para evitar que los usuarios creen sus propios repositorios. Audite la configuración de fusión de rebase.
Rapid7 también ha creado un módulo Metasploit que automatiza cadenas completas de exploits contra objetivos Linux y Windows. Este módulo admite dos modos. El modo predeterminado crea un repositorio temporal en la cuenta del atacante, ejecuta el exploit y elimina el repositorio. El segundo enfoque apunta a repositorios donde el atacante ya tiene acceso de escritura y fusión.
«Si un atacante crea y elimina sus propios repositorios, el único rastro es un HTTP 500 en los registros del servidor», dijeron los expertos en ciberseguridad. «El uso de un repositorio existente deja artefactos adicionales».
Source link
