Vulnerabilidad crítica en GitHub expone a más de 4,000 repositorios

Una nueva vulnerabilidad revelada en GitHub podría haber expuesto a miles de repositorios en riesgo de ataques de repojacking, según muestran los nuevos hallazgos.

La falla “podría permitir a un atacante explotar una condición race dentro de las operaciones de creación de repositorio y cambio de nombre de usuario de GitHub”, dijo el investigador de seguridad de Checkmarx, Elad Rapoport.

“La explotación exitosa de esta vulnerabilidad afecta a la comunidad de código abierto al permitir el secuestro de más de 4.000 paquetes de código en lenguajes como Go, PHP y Swift, así como acciones de GitHub”.

Tras la divulgación el 1 de marzo de 2023, la plataforma de alojamiento de código propiedad de Microsoft ha abordado el problema a partir del 1 de septiembre de 2023.

Repojacking, abreviatura de repository hijacking, es una técnica en la que un actor de amenazas puede eludir un mecanismo de seguridad llamado popular repository namespace retirement y, en última instancia, controlar un repositorio.

Lo que hace la medida de protección es evitar que otros usuarios creen un repositorio con el mismo nombre que un repositorio con más de 100 clones en el momento en que se cambia el nombre de su cuenta de usuario. En otras palabras, la combinación del nombre de usuario y el nombre del repositorio se considera “retirada”.

Si esta protección se elude trivialmente, podría permitir a los actores de amenazas crear nuevas cuentas con el mismo nombre de usuario y cargar repositorios maliciosos, lo que podría provocar ataques en la cadena de suministro de software.

Ataque de repojacking

El nuevo método descrito por Checkmarx aprovecha una posible condición de race entre la creación de un repositorio y el cambio de nombre de un nombre de usuario para lograr el repojacking. Específicamente, implica los siguientes pasos:

  1. La víctima posee el espacio de nombres “victim_user/repo”
  2. La víctima cambia el nombre de “victim_user” a “renamed_user”
  3. El repositorio “victim_user/repo” ya está retirado
  4. Un actor de amenazas con el nombre de usuario “attacker_user” crea simultáneamente un repositorio llamado “repo” y cambia el nombre de usuario “attacker_user” a “victim_user”

El último paso se realiza utilizando una solicitud de API para la creación del repositorio y una intercepción de solicitud renombrada para el cambio de nombre de usuario. El desarrollo se produce casi nueve meses después de que GitHub corrigiera una falla de derivación similar que podría abrir la puerta a ataques de repojacking.

“El descubrimiento de esta nueva vulnerabilidad en las operaciones de creación de repositorios y cambio de nombre de usuario de GitHub subraya los riesgos persistentes asociados con el mecanismo de ‘retiro del espacio de nombres del repositorio popular'”, dijo Rapoport.

Related Posts
Devel Group
Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.