Llegamos a ustedes gracias a:



Alertas de Seguridad

Millones de repositorios de GitHub

Vulnerables al RepoJacking

[23/06/2023] Millones de repositorios de GitHub son potencialmente vulnerables al RepoJacking, que permite a un atacante llevar a cabo la ejecución de código en los entornos internos de las organizaciones o en los de sus clientes, según una investigación de AquaSec.

AquaSec analizó una muestra de 1,25 millones de repositorios de GitHub y descubrió que alrededor del 2,95% eran vulnerables al RepoJacking, incluidos repositorios pertenecientes a empresas como Google y Lyft.

¿Qué es el RepoJacking?

En GitHub, las organizaciones tienen nombres de usuario y nombres de repositorios. En casos como un cambio de dirección o un nuevo nombre de marca, etc., la organización puede cambiar el nombre de usuario y/o el nombre del repositorio en GitHub.

Esto crea una redirección para evitar romper las dependencias de los proyectos que utilizan el código de los repositorios que cambiaron su nombre. Sin embargo, si alguien registra el nombre antiguo, esa redirección deja de ser válida.

Un ataque en el que el atacante registra un nombre de usuario y crea un repositorio utilizado por una organización en el pasado, pero que ha cambiado de nombre, se denomina RepoJacking.

Esto lleva a que cualquier proyecto o código que dependa del proyecto atacado obtenga dependencias y código del repositorio controlado por el atacante, que podría contener malware.

GitHub tiene algunas restricciones para evitar que el atacante abra el nombre del repositorio antiguo. "Sin embargo, sólo se aplican a los repositorios populares que lo eran antes del cambio de nombre y, recientemente, los investigadores han encontrado muchas formas de eludir estas restricciones, lo que permite a los atacantes abrir cualquier repositorio que deseen", afirmó AquaSec.

Táctica de investigación de AquaSec

AquaSec descargó todos los registros de GHTorrent del repositorio de GitHub para junio del 2019 y compiló una lista de 125 millones de nombres de repositorios únicos. Luego tomaron una muestra del 1% (1,25 millones de nombres de repositorios) y verificaron cada uno para ver si era vulnerable a RepoJacking.

"Descubrimos que 36.983 repositorios eran vulnerables al RepoJacking. Esto supone una tasa de éxito del 2,95%", afirmó AquaSec.

GHTorrent es un sitio web que proporciona un historial de registro completo de los repositorios de GitHub.

Explotación potencial debida a la vulnerabilidad RepoJacking

AquaSec descubrió que empresas como Google y Lyft contenían repositorios vulnerables y explicó la posible explotación en sus casos.

En el caso de Google, AquaSec encontró que un archivo readme que contenía instrucciones para construir un proyecto llamado Mathsteps apuntaba a un repositorio de GitHub perteneciente a Socratic, una empresa que Google adquirió en el 2018 y que ya no existe.

Usando la vulnerabilidad, un atacante puede clonar ese repositorio para romper la redirección. Esto puede hacer que los usuarios accedan a un archivo que contenga código malicioso insertado por el atacante.

La empresa de ciberseguridad observó además que las instrucciones incluían un comando de instalación de la dependencia. El código del atacante puede lograr la ejecución de código arbitrario en los dispositivos de usuarios desprevenidos.

En el caso de Lyft, AquaSec encontró un script de instalación en el repositorio de la compañía que obtiene un archivo ZIP de otro repositorio, que era vulnerable a RepoJacking. Esto significaba que los atacantes podían inyectar su código malicioso automáticamente en cualquier script de instalación de Lyft.

Tanto Google como Lyft han solucionado el problema.

Proteger los repositorios

AquaSec aconseja a las organizaciones que comprueben regularmente sus repositorios en busca de enlaces que puedan obtener recursos de repositorios externos de GitHub, ya que las referencias a proyectos como el módulo Go pueden cambiar de nombre en cualquier momento.

"Si cambia el nombre de su organización, asegúrese de que siga siendo dueño del nombre anterior también, incluso como marcador de posición, para evitar que los atacantes lo creen", anotó AquaSec.

Los investigadores advierten que muchas más organizaciones que no analizaron también podrían ser vulnerables. "Es importante señalar que nuestro análisis sólo cubrió una fracción de los datos disponibles, lo que significa que hay muchas más organizaciones vulnerables, incluyendo potencialmente la suya", indicó AquaSec.

Casos de éxito

Más »