GitHub

El servicio de alojamiento de repositorios basado en la nube GitHub ha abordado una falla de seguridad de alta gravedad que podría haberse aprovechado para crear repositorios maliciosos y montar ataques a la cadena de suministro.

La técnica RepoJacking , divulgada por Checkmarx, implica eludir un mecanismo de protección llamado retiro del espacio de nombres del repositorio popular , que tiene como objetivo evitar que los desarrolladores extraigan repositorios inseguros con el mismo nombre.

El problema fue abordado por la subsidiaria propiedad de Microsoft el 19 de septiembre de 2022 luego de una divulgación responsable.

RepoJacking ocurre cuando un creador de un repositorio opta por cambiar el nombre de usuario, lo que podría permitir que un actor de amenazas reclame el nombre de usuario anterior y publique un repositorio falso con el mismo nombre en un intento de engañar a los usuarios para que los descarguen.

Error de reconexión de GitHub

Si bien la contramedida de Microsoft «retira [s] el espacio de nombres de cualquier proyecto de código abierto que tuvo más de 100 clones en la semana previa al cambio de nombre o la eliminación de la cuenta del propietario», Checkmarx descubrió que esto se puede eludir a través de la característica de » transferencia de repositorio «. .

La forma en que esto funciona es la siguiente:

  • Un actor de amenazas crea un repositorio con el mismo nombre que el repositorio retirado (por ejemplo, «repo») propiedad de un usuario llamado «víctima» pero con un nombre de usuario diferente (por ejemplo, «ayudante»).
  • «ayudante» transfiere la propiedad de «repo» a una segunda cuenta con el nombre de usuario «atacante»
  • «atacante» cambia el nombre de usuario de la cuenta a «víctima»
  • El espacio de nombres «víctima/repo» ahora está bajo el control del adversario

En otras palabras, el ataque depende de la peculiaridad de que GitHub solo considera como retirado el espacio de nombres, es decir, la combinación de nombre de usuario y nombre de repositorio, lo que permite que un mal actor reutilice el nombre del repositorio junto con un nombre de usuario arbitrario.

Error de reconexión de GitHub

Una explotación exitosa podría haber permitido efectivamente a los atacantes impulsar repositorios envenenados, poniendo los nombres de usuario renombrados en riesgo de ser víctimas de ataques a la cadena de suministro.

«Si no se atiende explícitamente, todos los nombres de usuario renombrados en GitHub eran vulnerables a esta falla, incluidos más de 10,000 paquetes en los administradores de paquetes Go, Swift y Packagist», dijo Aviad Gershon, investigador de Checkmarx.

Fuente y redacción: thehackernews.com

Compartir