Los
desarrolladores de Git han alertado de una importante
vulnerabilidad presente en el cliente oficial de Git y compatibles, como
GitHub, que afecta a todas las versiones y plataformas disponibles y posibilita
la ejecución de código remoto.
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.
La vulnerabilidad CVE-2014-9390,
estaría presente en código del cliente oficial al ejecutarse en un sistema de
ficheros que no consideren las mayúsculas "case-insensitive" (como los sistemas NTFS/FAT en Windows). Esto
es debido a una incorrecta gestión y filtrado de las rutas de ficheros y
directorios, así como el procesamiento de caracteres especiales en los mismos.
Por ejemplo, un repositorio que
realizara un commit mediante la ruta ".Git/config" en un sistema "case-insensitive" daría lugar a
cargar como efectiva ".git/config", lo que permitiría clonar un
repositorio alternativo especialmente manipulado y configurado para ejecutar
código arbitrario del lado del cliente. De esta forma se podría distribuir malware
de forma masiva o comprometer el sistema.
En Windows, rutas del estilo
"git~1/config" se convertirían en ".git/config", o en HFS+
(MacOS X), con rutas como ".g\u200cit/config”.
Por tanto las versiones afectadas
son numerosas, partiendo desde Git/GitHub para Windows, Git OS X, JGit &
EGit, libgit2 e incluso el cliente para Visual Studio. Los sistemas UNIX/Linux,
no se verían afectados potencialmente, ya que por defecto el modo activo es "case-sensitive", aunque no lo
excluye si el usuario lo configura de otro modo.
Un hecho colateral de esta
vulnerabilidad, es que indirectamente afecta a aquellos servidores Git que no
sean actualizados o configurados correctamente para evitar albergar "commits" maliciosos, ya que
usuarios con versiones no actualizadas podrían seguir infectándose. Para ello desde
Atlassian se ofrece una guía bastante completa con los pasos a realizar y
disponible como enlace al final de este artículo.
Tanto git, github y el resto de
clientes compatibles han publicado nuevas versiones corregidas:
- GitHub 2.6.6 (Windwows) y
Honourary Brit (Mac): https://github.com/
- Git (v1.8.5.6, v1.9.5, v2.0.5,
v2.1.4, y v2.2.1):
https://www.kernel.org/pub/software/scm/git/
Más información:
Vulnerability announced: update your Git
clients
[ANNOUNCE] Git v2.2.1 (and updates to older
maintenance tracks)
Securing your Git server against CVE-2014-9390
José Mesa Orihuela


No hay comentarios:
Publicar un comentario