domingo, 13 de agosto de 2017

Ejecución de código arbitrario en Git






Se ha hecho público un fallo en el sistema de versiones Git que podría permitir la ejecución de código arbitrario en la máquina de la víctima y al cual se le ha asignado el identificador CVE-2017-1000117.

Los sistemas de control de versiones son herramientas desarrolladas para el seguimiento de un proyecto o aplicación. Herramientas sumamente importantes y utilizadas en cualquier desarrollo.

La vulnerabilidad no solo afecta al control de versiones Git, sino también están afectados los sistemas de control de versiones Mercurial y Subversion. Aunque el error es similar, los identificadores de la vulnerabilidades son distintos, siendo CVE-2017-9800 para Subversion y CVE-2017-1000116 para Mercurial.

El fallo es provocado por un error en el procesado de los comandos “ssh://“, el cual puede ser explotado si un repositorio remoto envía una URL especialmente manipulada a la víctima cuando esta ejecuta un comando
clone“, permitiendo la ejecución de cualquier programa existente en la máquina de la víctima.

Pero esto no acaba aquí: esta URL podría ser colocada en el fichero “.gitmodules“ del proyecto clonado para así conseguir tener la máquina infectada y que esta vulnerabilidad se ejecute de nuevo al invocar un comando “git clone --recurse-submodules

La vulnerabilidad en Git ha sido corregidas en las últimas versiones publicadas.


Jose Ignacio Palacios

Más información:
The Recurity Lablog
http://blog.recurity-labs.com/2017-08-10/scm-vulns

The Mail Archive
https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1466490.html