¡Saludos, Agentes Geek! Hoy tenemos noticias importantes para todos los que usamos Git en nuestro día a día. El proyecto Git ha anunciado el lanzamiento de nuevas versiones para corregir nada menos que siete vulnerabilidades de seguridad que afectan a *todas* las versiones anteriores. Así que, sí, es momento de actualizar.
¿Qué está pasando con Git?
La noticia viene directamente del blog de GitHub, donde detallan los CVEs (Common Vulnerabilities and Exposures) que han sido resueltos. Vamos a desglosarlos para entender mejor el alcance del problema.
Vulnerabilidades en el núcleo de Git
Empecemos por las vulnerabilidades que afectan directamente al funcionamiento principal de Git:
- CVE-2025-48384: Manipulación de Submódulos por Caracteres de Control
Git elimina los caracteres de retorno de carro (CR) y avance de línea (LF) al leer valores de configuración, pero no los codifica al escribirlos. Esto permite que un atacante manipule la ruta de un submódulo, causando que se extraiga en la ubicación incorrecta y potencialmente ejecute código arbitrario a través de hooks.
- CVE-2025-48385: Inyección de Protocolo en Clones con Bundles
Al clonar un repositorio, Git puede usar bundles (paquetes pre-empaquetados) para acelerar el proceso. El cliente Git no valida correctamente estos bundles, permitiendo una inyección de protocolo. Un atacante podría forzar al cliente a escribir el bundle en una ubicación arbitraria, llevando a la ejecución de código.
- CVE-2025-48386 (Solo Windows): Desbordamiento de Búfer en Wincred
En Windows, al clonar desde un repositorio autenticado, Git usa el helper
Wincred
para gestionar las credenciales en el Administrador de Credenciales de Windows. Un desbordamiento de búfer enWincred
podría permitir a un atacante manipular la memoria y potencialmente ejecutar código.
Vulnerabilidades en Git GUI y Gitk
Además, se han encontrado vulnerabilidades en las interfaces gráficas Gitk y Git GUI, que son herramientas basadas en Tcl/Tk para interactuar con repositorios Git. Aquí el resumen:
- CVE-2025-27613 (Gitk): Escritura/Truncamiento Arbitrario de Archivos
Ejecutando Gitk en un repositorio malicioso, sin argumentos adicionales, se puede escribir y truncar archivos arbitrarios si la opción “Support per-file encoding” está habilitada.
- CVE-2025-27614 (Gitk): Ejecución Arbitraria de Scripts
Si un usuario es engañado para ejecutar
gitk filename
con un nombre de archivo malicioso, un atacante podría ejecutar scripts arbitrarios. - CVE-2025-46334 (Git GUI, Solo Windows): Ejecución de Código por Path Lookup Malicioso
Si un repositorio malicioso incluye un ejecutable
sh.exe
o programas comunes de conversión de texto (comoastexplain
,exif
ops2ascii
), la búsqueda de rutas en Windows podría localizarlos en el árbol de trabajo. Al usar “Git Bash” o “Browse Files” desde el menú, estos programas podrían ser invocados, permitiendo la ejecución de código. - CVE-2025-46335 (Git GUI): Escritura Arbitraria de Archivos por Directorios Maliciosos
Similar a CVE-2025-27613, si un usuario edita un archivo en un directorio con un nombre especialmente diseñado en un repositorio no confiable, Git GUI puede crear y sobrescribir archivos arbitrarios.
¿Cómo protegerte? ¡Actualiza ya!
La solución más efectiva es actualizar a la última versión de Git: la 2.50.1, que incluye las correcciones para todas estas vulnerabilidades. Si no puedes actualizar inmediatamente, considera estas medidas de mitigación:
- Evita ejecutar
git clone --recurse-submodules
en repositorios no confiables. - Desactiva la auto-obtención de URIs de bundles configurando
transport.bundleURI
a"false"
. - Evita usar el helper de credenciales
wincred
en Windows. - Evita ejecutar Gitk y Git GUI en repositorios no confiables.
GitHub ya está tomando medidas
Para proteger a los usuarios, GitHub ha programado actualizaciones de GitHub Desktop, GitHub Codespaces y GitHub Actions. Afortunadamente, la propia plataforma GitHub, incluyendo Enterprise Server, no se ve afectada.
Créditos
Un agradecimiento a los investigadores y desarrolladores que descubrieron y solucionaron estas vulnerabilidades: David Leadbeater, Justin Tobler, Patrick Steinhardt, Taylor Blau, Jeff King, Johannes Sixt, Mark Levedahl y Avi Halachmi.
En resumen
No te duermas en los laureles. Actualiza Git a la versión 2.50.1 lo antes posible y aplica las medidas de mitigación si no puedes actualizar de inmediato. La seguridad de tu entorno de desarrollo te lo agradecerá. ¡Mantente geek, mantente seguro!
Fuente: GitHub Blog
Leave a Comment