Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia, la confiabilidad y compatibilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.
Se ha detectado una vulnerabilidad identificada como CVE-2023-29007 y con un puntaje CVSS de 7.0, esta falla surge de un error lógico en la implementación de Git para renombrar o eliminar secciones de un archivo de configuración. Esta vulnerabilidad tiene el potencial de comprometer los datos del usuario y ejecutar código arbitrario.
Un atacante puede explotar esta vulnerabilidad para inyectar ajustes de configuración arbitrarios en el archivo $GIT_DIR/config de un usuario al cambiar el nombre o eliminar una sección de configuración maliciosa. Esto puede conducir a la ejecución arbitraria de código, a través de valores de configuración que especifican ejecutables, como core.pager, core.editor y core.sshCommand.
Cabe destacar que la vulnerabilidad puede ser explotada utilizando direcciones URL de submódulos demasiado largas, que se almacenan en el $GIT_DIR/config de un usuario durante la inicialización. Al eliminar esas secciones con comandos como «git submodule deinit», estas URL pueden malinterpretarse y entenderse que contienen nuevo material de configuración.
Productos afectados
Versiones de Git anteriores a:
- v2.30.8, v2.31.7, v2.32.6, v2.33.7, v2.34.7, v2.35.7, v2.36.5, v2.37.6, v2.38.4, v2.39.2 y v2.40.0
Solución
Los parches de seguridad que abordan esta vulnerabilidad se encuentran en las versiones:
- v2.30.9, v2.31.8, v2.32.7, v2.33.8, v2.34.8, v2.35.8, v2.36.6, v2.37.7, v2.38.5, v2.39.3 y v2.40.1
Solución alternativa
Evite ejecutar “git submodule deinit”, “git config –rename-section” o “git config –remove-section” en repositorios que no sean de confianza o sin una inspección previa de su $GIT_DIR/config.
Recomendaciones
- Se recomienda a los usuarios de GIT actualizar su software lo antes posible.
Referencias