
Se han descubierto cuatro fallos de seguridad sin parchear, tres de ellos críticos, en el servicio Git de código abierto y autoalojado Gogs, que podrían permitir a un atacante autenticado acceder a instancias susceptibles, robar o borrar código fuente e incluso instalar puertas traseras.
Las vulnerabilidades, según los investigadores de SonarSource Thomas Chauchefoin y Paul Gerste, se enumeran a continuación:
La explotación exitosa de los tres primeros defectos podría permitir a un atacante ejecutar comandos arbitrarios en el servidor Gogs, mientras que el cuarto defecto permite a los atacantes leer archivos arbitrarios como código fuente y secretos de configuración.
En otras palabras, abusando de los problemas, un actor de amenazas podría leer el código fuente de la instancia, modificar cualquier código, borrar todo el código, dirigirse a hosts internos accesibles desde el servidor Gogs y hacerse pasar por otros usuarios y obtener más privilegios.
Dicho esto, las cuatro vulnerabilidades requieren que el atacante esté autenticado. Además, la activación de CVE-2024-39930 requiere que el servidor SSH incorporado esté habilitado, que se utilice la versión del binario env y que el actor de la amenaza esté en posesión de una clave privada SSH válida.
"Si la instancia de Gogs tiene habilitado el registro, el atacante puede simplemente crear una cuenta y registrar su clave SSH", explican los investigadores. "De lo contrario, tendrían que comprometer otra cuenta o robar la clave privada SSH de un usuario".
Las instancias de Gogs que se ejecutan en Windows no son explotables, al igual que la imagen de Docker. Sin embargo, las que se ejecutan en Debian y Ubuntu son vulnerables debido a que el binario env soporta la opción "--split-string".

Según los datos disponibles en Shodan, alrededor de 7.300 instancias de Gogs son accesibles públicamente a través de Internet, y casi el 60% de ellas se encuentran en China, seguida de Estados Unidos, Alemania, Rusia y Hong Kong.
Actualmente no está claro cuántos de estos servidores expuestos son vulnerables a los fallos mencionados. SonarSource dijo que no tiene ninguna visibilidad sobre si estos problemas están siendo explotados en la naturaleza.
La empresa suiza de ciberseguridad también señaló que los responsables del proyecto "no implementaron correcciones y dejaron de comunicarse" tras aceptar su informe inicial el 28 de abril de 2023.
En ausencia de una actualización, se recomienda a los usuarios desactivar el servidor SSH integrado, desactivar el registro de usuarios para evitar la explotación masiva y considerar el cambio a Gitea. SonarSource también ha publicado un parche que los usuarios pueden aplicar, pero señaló que no ha sido probado exhaustivamente.
La revelación se produce cuando la empresa de seguridad en la nube Aqua descubrió que la información sensible, como los tokens de acceso y las contraseñas, una vez codificada en papel, podía quedar permanentemente expuesta incluso después de eliminarla de los sistemas de gestión de código fuente (SCM) basados en Git.
Denominados secretos fantasma, el problema se debe a que no pueden ser descubiertos por ninguno de los métodos de escaneado convencionales -la mayoría de los cuales buscan secretos mediante el comando "git clone"- y a que algunos secretos sólo son accesibles a través de "git clone --mirror" o de vistas en caché de las plataformas SCM, lo que pone de manifiesto los puntos ciegos que estas herramientas de escaneado pueden pasar por alto.
"Los commits siguen siendo accesibles a través de 'vistas en caché' en el SCM", señalaron los investigadores de seguridad Yakir Kadkoda e Ilay Goldman. "Esencialmente, el SCM guarda el contenido del commit para siempre".
"Esto significa que incluso si un commit con contenido secreto es eliminado tanto de la versión clonada como de la réplica de tu repositorio, todavía se puede acceder a él si alguien conoce el hash del commit. Pueden recuperar el contenido del commit a través de la GUI de la plataforma SCM y acceder al secreto filtrado."
Fuente: thehackernews