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.
Atunci când se specifică un URL de tip „https://evil.com?host=github.com/”, procesorul de acreditive la conectarea la gazda evil.com va transmite parametrii de autentificare stabiliți pentru github.com. Problema apare în timpul unor operațiuni precum „git clone”, inclusiv în procesarea URL-urilor pentru submodule (de exemplu, când se execută „git submodule update”, URL-urile specificate în fișierul .gitmodules din depozit vor fi procesate automat). Vulnerabilitatea prezintă cel mai mare risc în situații în care dezvoltatorul clonează un depozit fără să vadă URL-ul, de exemplu, lucrând cu submodule sau în sistemele care execută acțiuni automate, cum ar fi scripturile de construire 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
