21 de agosto de 2017

GIT. Ejecución de código arbitrario

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.
Detalle e impacto de la vulnerabilidad
      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“
Recomendación
      La vulnerabilidad en Git ha sido corregidas en las últimas versiones publicadas.
Más información:
      The Recurity Lablog http://blog.recurity-labs.com/2017-08-10/scm-vulns
Fuente: Hispasec