Vulnerabilidad en Git (CVE-2023-25815)
Gravedad CVSS v3.1:
BAJA
Tipo:
CWE-134
Utilización de formatos de cadenas de control externo
Fecha de publicación:
25/04/2023
Última modificación:
26/06/2024
Descripción
En Git para Windows, la versión de Git para Windows, no se envían mensajes localizados con el instalador. Como consecuencia, se espera que Git no localice ningún mensaje y omita la inicialización de gettext. Sin embargo, debido a un cambio en los paquetes MINGW, la inicialización implícita de la función `gettext()` ya no usa el prefijo de tiempo de ejecución sino que usa la ruta codificada `C:\mingw64\share\locale` para buscar mensajes localizados. Y dado que cualquier usuario autenticado tiene permiso para crear carpetas en `C:\` (y dado que `C:\mingw64` normalmente no existe), es posible que los usuarios con pocos privilegios coloquen mensajes falsos en esa ubicación donde `git .exe` los recogerá en la versión 2.40.1. Esta vulnerabilidad es relativamente difícil de explotar y requiere ingeniería social. Por ejemplo, un mensaje legítimo al final de un clon podría modificarse maliciosamente para pedirle al usuario que dirija su navegador web a un sitio web malicioso, y el usuario podría pensar que el mensaje proviene de Git y es legítimo. Sin embargo, requiere acceso de escritura local por parte del atacante, lo que hace que este vector de ataque sea menos probable. La versión 2.40.1 contiene un parche para este problema. Algunas soluciones están disponibles. No trabaje en una máquina Windows con cuentas compartidas o, alternativamente, cree una carpeta `C:\mingw64` y déjela vacía. Los usuarios que tienen derechos administrativos pueden eliminar el permiso para crear carpetas en `C:\`.
Impacto
Puntuación base 3.x
2.20
Gravedad 3.x
BAJA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:git_for_windows_project:git_for_windows:*:*:*:*:*:*:*:* | 2.40.1 (excluyendo) | |
cpe:2.3:o:fedoraproject:fedora:37:*:*:*:*:*:*:* | ||
cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- http://www.openwall.com/lists/oss-security/2023/04/25/2
- https://axcheron.github.io/exploit-101-format-strings/#writing-to-the-stack
- https://github.com/git-for-windows/git/releases/tag/v2.40.1.windows.1
- https://github.com/git-for-windows/git/security/advisories/GHSA-9w66-8mq8-5vm8
- https://github.com/msys2/MINGW-packages/pull/10461
- https://lists.debian.org/debian-lts-announce/2024/06/msg00018.html
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PI7FZ4NNR5S5J5K6AMVQBH2JFP6NE4L7/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/RKOXOAZ42HLXHXTW6JZI4L5DAIYDTYCU/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YFZWGQKB6MM5MNF2DLFTD7KS2KWPICKL/
- https://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html
- https://security.gentoo.org/glsa/202312-15