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ă () în handlerul „„, 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 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 , , , , , , .
Ca o soluție alternativă pentru blocarea problemei 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ă și extragerea parolelor din , protejat de 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
