O vulnerabilitate în Git care duce la scurgerea datelor de autentificare

Publicate versiuni corective ale sistemului de gestionare distribuită a codului sursă 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 fost remediată vulnerabilitatea (CVE-2020-5260) în handlerul „credential.helper„, care duce la trimiterea datelor de autentificare pe un host greșit atunci când clientul git accesează un repository printr-un URL special formatat, care conține un caracter de linie nouă. Această vulnerabilitate poate fi utilizată pentru a trimite date de autentificare de la un alt host pe un server controlat de atacator.

În cazul în care URL-ul are forma «https://evil.com?host=github.com/», procesatorul de autentificare care se conectează la gazda evil.com va transmite parametrii de autentificare definiți pentru github.com. Problema apare atunci când se efectuează astfel de operațiuni precum «git clone», inclusiv în procesarea URL-urilor pentru submodule (de exemplu, când se execută «git submodule update», URL-urile definite în fișierul .gitmodules din repository vor fi procesate automat). Vulnerabilitatea reprezintă un risc major în situațiile în care dezvoltatorul clonează un repository fără a observa URL-ul, de exemplu, atunci când lucrează cu submodule, sau în sistemele care efectuează acțiuni automate, cum ar fi în scripturile de compilare a pachetelor.

Pentru a bloca vulnerabilitatea în noile versiuni este interzisă transmiterea caracterului de linie nouă în orice valori transmise prin protocolul de schimb de date de autentificare. Pentru distribuții, actualizările pachetelor pot fi urmărite pe paginile Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

Ca o soluție alternativă pentru blocarea problemei se recomandă să nu utilizați credential.helper când accesați repository-uri publice și să nu aplicați „git clone” în modul „—recurse-submodules” cu repository-uri neverificate. Pentru a dezactiva complet handlerul credential.helper, care efectuează salvarea și extragerea parolelor din cache, protejat de un stocare sau un fișier cu parole, se pot utiliza comenzile:

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

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster