Se ha informado de dos vulnerabilidades que posibilitan
la ejecución de código remoto y que afectan a todas las versiones de Git, tanto
cliente como servidor, anteriores a la 2.7.1. También se ven afectadas las
versiones compatibles, como GitHub, Bitbucket o Gitlab.
Git es un software de control de versiones diseñado por Linus Torvalds, diseñado para la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente. En la actualidad proyectos de relevancia usan Git para el mantenimiento de sus versiones, como el grupo de programación del núcleo Linux.
Detalle e Impacto de las vulnerabilidades
- El primer problema, con CVE-2016-2315, podría permitir a un usuario remoto autenticado enviar un repositorio específicamente manipulado para provocar un desbordamiento de búfer y ejecutar código arbitrario en los sistemas afectados. De forma similar, y relacionado con el anterior, un desbordamiento de entero (con CVE-2016-2324) por el que un usuario autenticado que envíe o clone un repositorio específicamente manipulado podría ejecutar código arbitrario en los sistemas afectados.
- Para hacer un push a un repositorio Git remoto es necesario tener permiso de escritura, para lo que en general se requiere de algún tipo de autenticación o autorización. Sin embargo, en servicios tipo Bitbucket o Github en los que se puede crear o clonar un repositorio sin la aprobación del administrador, estos problemas pueden ser mayores ya que cualquiera podría intentar explotar la vulnerabilidad. Hay que señalar que en dichos servicios el problema ya está corregido, pero en otros de similares características (especialmente los auto-hospedados) podrían ser vulnerables.
- Estos problemas fueron corregidos en la versión 2.7.1 de Git, publicada en febrero, si bien no se han conocido hasta ahora (ni los desarrolladores de Git informaron de ello en su momento).
- Remote
Code Execution in all git versions (client + server) < 2.7.1:
CVE-2016-2324, CVE-2016‑2315 https://ma.ttias.be/remote-code-execution-git-versions-client-server-2-7-1-cve-2016-2324-cve-2016-2315/
- server
and client side remote code execution through a buffer overflow in all git
versions before 2.7.1 (unpublished ᴄᴠᴇ-2016-2324 and ᴄᴠᴇ‑2016‑2315) http://seclists.org/oss-sec/2016/q1/645 http://seclists.org/oss-sec/2016/q1/653
- Git
v2.7.1 Release Notes https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.7.1.txt
- Git
https://git-scm.com/