versiuni corective ale sistemului distribuit de gestionare a codului sursă Git 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 și 2.14.6, care remediază vulnerabilități ce permit unui atacator să rescrie căi arbitrari în sistemul de fișiere, să inițieze execuția de cod de la distanță sau să suprascrie fișiere în directorul „.git/”. Cele mai multe dintre probleme au fost identificate de angajații
Microsoft Security Response Center, cinci dintre cele opt vulnerabilități fiind specifice platformei Windows.
- — comanda de flux „feature export-marks=path” scrie etichete în directoare arbitrare, ceea ce poate fi folosit pentru a rescrie căi arbitrare în sistemul de fișiere în timpul execuției operației „git fast-import” cu date de intrare nevalidare.
- — escaparea incorectă a argumentelor din linia de comandă la execuția de cod de la distanță a atacatorului în timpul clonării recursive utilizând URL ssh://. În special, escaparea incorectă a argumentelor ce se terminau cu backslash (de exemplu, „test \”). În acest caz, când argumentul era încapsulat între ghilimele duble, ultima ghilimele era escapată, ceea ce permitea substituția propriilor opțiuni în linia de comandă.
- — în timpul clonării recursive a submodulelor („clone —recurse-submodules”) în mediu Windows, în anumite condiții să se inițieze utilizarea aceluiași catalog git de două ori (.git, git~1, git~2 și git~N în NTFS sunt recunoscute ca un singur catalog, dar această situație a fost verificată doar pentru git~1), ceea ce putea fi folosit pentru a organiza scrierea în directorul „.git”. Pentru a executa propriul cod, atacatorul, de exemplu, poate introduce propriul său script prin handlerul post-checkout din fișierul .git/config.
- — handlerul numelui literelor unităților în căile Windows, în timpul traducerii căilor de tip „C:\
- — în utilizarea platformei Windows, aplicarea fluxurilor de date alternative în NTFS, create prin adăugarea caracteristicii «:stream-name:stream-type» la numele fișierului, rescrierea fișierelor din directorul «.git/» lors de clonării unui depozit malițios. De exemplu, numele «.git::$INDEX_ALLOCATION» în NTFS era tratat ca un link valid către directorul «.git».
- — atunci când se utilizează Git în mediu WSL (Windows Subsystem for Linux) la accesarea directorului de lucru protecția împotriva manipulării numelui în NTFS (erau posibile atacuri prin translația numelui FAT, de exemplu, directorul «.git» putea fi accesat prin directorul «git~1»).
- —
înregistrărilor în directorul «.git/» pe platforma Windows during clonarea unor depozite malițioase care conțin fișiere cu slash invers în nume (de exemplu, «a\b»), care este acceptat în Unix/Linux, dar perceput ca parte a căii în Windows. - — o verificare insuficientă a numelui submodulelor putea fi utilizată pentru a organiza atacuri țintite, care în cazul clonării recursive ar putea la executarea codului atacantului. Git nu interzicea crearea unui director de submodul în interiorul altui submodul, ceea ce în cele mai multe cazuri poate provoca doar confuzie, dar nu exclude potențial rescrierea conținutului altui modul în timpul clonării recursive (de exemplu, directoarele submodulelor «hippo» și «hippo/hooks» sunt plasate ca «.git/modules/hippo/» și «.git/modules/hippo/hooks/», iar directorul hooks din hippo poate fi folosit separat pentru a plasa handleri executabili.)
Utilizatorii Windows sunt sfătuiți să actualizeze urgent versiunea Git, iar până la actualizare să se abțină de la clonarea depozitelor neverificate. Dacă nu există posibilitatea de a actualiza urgent versiunea Git, pentru a reduce riscul atacului se recomandă să nu se ruleze «git clone --recurse-submodules» și «git submodule update» cu depozite neverificate, să nu se folosească «git fast-import» cu fluxuri de intrare neverificate și să nu se cloneze depozitele în partiții bazate pe NTFS.
Pentru o protecție suplimentară în noile versiuni, de asemenea, este interzisă utilizarea în .gitmodules a construcțiilor sub forma «submodule.{name}.update=!command». Pentru distribuții, se poate urmări lansarea actualizărilor pachetelor pe paginile ,, , , , , , .
Sursa: opennet.ro
