Vulnerabilități în Git, care se manifestă la clonarea submodulelor și utilizarea shell-ului git

Au fost publicate actualizările corective pentru sistemul distribuit de gestionare a codului sursă Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 și 2.37.4, în care au fost eliminate două vulnerabilități care se manifestă la utilizarea comenzii „git clone” în modul „—recurse-submodules” cu repozitorii neverificate și în modul interactiv al „git shell”. Actualizările pachetelor în distribuții pot fi urmărite pe paginile Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

  • CVE-2022-39253 — vulnerabilitatea permite unui atacator, care controlează conținutul repozitorului clonat, să acceseze date confidențiale pe sistemul utilizatorului, prin plasarea în directorul $GIT_DIR/objects al repozitorului clonat de simboluri legători către fișierele de interes. Problema se manifestă doar în cazul clonării locale (în modul „—local”, utilizat când datele țintă și sursele de clonare se află pe aceeași partiție) sau la clonarea unui repozitoriu malițios, ambalat sub formă de submodul într-un alt repozitoriu (de exemplu, atunci când submodulele sunt incluse în mod recursiv cu comanda „git clone —recurse-submodules”).

    Vulnerabilitatea este cauzată de faptul că în modul de clonare „—local”, git mută conținutul $GIT_DIR/objects în directorul țintă (creând legături dure sau copii ale fișierelor), efectuând dereferencierea legăturilor simbolice (adică în final, în directorul țintă se copiază nu legăturile simbolice, ci direct fișierele către care se indică de legături). Pentru a bloca manifestarea vulnerabilității în noile versiuni git, clonarea repozitoriilor în modul „—local” care conțin legături simbolice în directorul $GIT_DIR/objects a fost interzisă. În plus, valoarea implicită a parametrului protocol.file.allow a fost schimbată în „user”, ceea ce clasifică operațiunile de clonare folosind protocolul file:// ca nesigure.

  • CVE-2022-39260 — o depășire a capacității numerice în funcția split_cmdline(), utilizată în comanda „git shell”. Problema poate fi utilizată pentru a ataca utilizatorii care au „git shell” ca shell la autentificare și care au activat modul interactiv (fișierul $HOME/git-shell-commands fiind creat). Exploatarea vulnerabilității poate duce la execuția de cod arbitrar în sistem prin transmiterea unei comenzi formatate special, având o dimensiune mai mare de 2 GB.

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