El 18 de diciembre, se anunció una vulnerabilidad en git y mecurial.
- ¿Cuáles son los detalles de la vulnerabilidad?
- ¿Me afecta?
- ¿Qué debo hacer?
¿Cuáles son los detalles de la vulnerabilidad?
Git almacena los metadatos del repositorio en un subdirectorio .git
. Esto incluye git hooks que permiten ejecutar scripts personalizados en varios puntos del flujo de trabajo git. Normalmente, Git no permite que se confirme ningún archivo en este subdirectorio.
Sin embargo, los subdirectorios como .Git
en pueden pueden confirmarse en el repositorio. Esta vulnerabilidad se debe a que los sistemas operativos con sistemas de archivos que no distinguen entre mayúsculas y minúsculas (como Windows u OS X) tratarán los dos subdirectorios ( .Git
y .git
) como equivalentes y sobrescribirán a .git
con el contenido de .Git
. Esto hace que un atacante pueda ejecutar código arbitrario engañando a los usuarios que utilizan sistemas operativos con sistemas de archivos que no distinguen entre mayúsculas y minúsculas para clonar un repositorio creado con fines malintencionados.
¿Me afecta?
La vulnerabilidad solo funciona en usuarios que utilizan sistemas de archivos que no distinguen entre mayúsculas y minúsculas. Esto incluye a la mayoría de los usuarios de Windows y OS X.
Retirar los repositorios de GitHub es seguro porque GitHub ahora bloquea los repositorios de contener El exploit malicioso.
¿Qué debo hacer?
Al igual que con todas las nuevas vulnerabilidades, actualiza el software afectado. Esto significa actualizar a las versiones v1.8.5.6, v1.9.5, v2.0.5, v2.1.4 y v2.2.1 de git según la rama de mantenimiento que esté utilizando.
Lea otras preguntas en las etiquetas vulnerability