Asegurar Git: Abordando 5 Nuevas Vulnerabilidades

Publicado el 20 julio 2024 por Lauratuero @incubaweb

Hoy, les escribo como coordinador de la comunidad de Git para informarles sobre el lanzamiento de la última actualización de seguridad de Git. En un entorno de desarrollo de software en constante evolución, la seguridad sigue siendo una preocupación primordial, especialmente para el proyecto Git. Con este compromiso inquebrantable con la seguridad, anunciamos la nueva versión de Git, v2.45.1, lanzada el 14 de mayo de 2024, que aborda cinco vulnerabilidades. Las plataformas afectadas incluyen Windows, macOS, Linux y incluso *BSD, por lo que estas correcciones son importantes para todos los usuarios. Esta versión está coordinada con Visual Studio y GitHub Desktop, que incluyen un subconjunto de Git. También estamos lanzando varias actualizaciones de defensa en profundidad para abordar temas que hemos notado en recientes lanzamientos de corrección de errores.

Actualizar a la última versión de Git es esencial para protegerse contra estas vulnerabilidades. Si no puede actualizar de inmediato, tenga cuidado de dónde clona los repositorios. Cabe destacar que la protección de defensa en profundidad en esta actualización causa una regresión al clonar repositorios habilitados con Git LFS, lo que resultará en un error. Para resolverlo, debe ejecutar «git lfs pull» en el nuevo clon.

El tema principal de estas correcciones es mejorar la seguridad al clonar repositorios de Git. La postura de Git ha sido que clonar incluso repositorios no confiables debería ser una operación segura, permitiendo «limpiar» repositorios de configuraciones y ganchos potencialmente maliciosos, documentación que ahora se incluye claramente en esta versión.

Entre las vulnerabilidades corregidas se encuentra la ejecución remota de código en clones recursivos en sistemas de archivos insensibles a mayúsculas que soportan enlaces simbólicos (CVE-2024-32002, crítica). Los repositorios con submódulos pueden haber sido diseñados para explotar un error en Git, engañándolo para escribir archivos en el directorio «.git/» en lugar del directorio de trabajo del submódulo.

Otra vulnerabilidad significativa es la ejecución remota de código al clonar repositorios locales especialmente diseñados (CVE-2024-32004, alta). En máquinas con múltiples usuarios, un atacante puede preparar un repositorio local para que, al ser clonado, Git ejecute código arbitrario con todos los permisos del usuario que realiza la clonación.

Adicionalmente, se encontraron vulnerabilidades como la posibilidad de eludir las protecciones al clonar repositorios no confiables (CVE-2024-32465, alta), modificar objetos en el repositorio clonado por un usuario no confiable (CVE-2024-32020, baja) y la creación de enlaces duros a archivos arbitrarios al clonar repositorios locales (CVE-2024-32021, baja).

Además de estas correcciones, se han implementado mejoras de seguridad en profundidad para reducir la gravedad de cualquier vulnerabilidad relacionada en el futuro. Estas medidas incluyen una mejor gestión de enlaces simbólicos y directorios durante las operaciones de clonación y un manejo más seguro de los ganchos, previniendo la ejecución no autorizada de código. También se ha protegido la configuración del directorio de plantillas de Git y se emiten advertencias sobre enlaces simbólicos que apuntan al directorio «.git/», los cuales podrían ser un riesgo de seguridad.

La comunidad de Git sigue comprometida con la mejora continua de la seguridad y la protección de sus usuarios. Apreciamos profundamente las contribuciones y la colaboración de quienes ayudan a hacer de Git una herramienta más segura.

Manténganse seguros, manténganse actualizados y sigamos creando software increíble juntos.
vía: Google Blog Open Source