Cinci vulnerabilități în Git, dintre care una critică și două periculoase

Au fost publicate actualizările corective ale sistemului distribuit de gestionare a codului sursă Git 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 și 2.39.4, în care au fost remediate cinci vulnerabilități. Cea mai gravă vulnerabilitate (CVE-2024-32002), clasificată la un nivel critic de risc, permite executarea codului de către atacatori în timpul clonării unui repository folosind comanda „git clone” al acestuia.

Vulnerabilitatea se manifestă doar în sistemele de fișiere care nu fac distincția între majuscule și minuscule și care acceptă linkuri simbolice, precum cele utilizate implicit în Windows și macOS. Exploatarea se realizează prin crearea într-un submodul a unui director și a unui link simbolic, care diferă doar prin literele mari și mici, ceea ce permite scrierea fișierelor în directorul .git/, în loc de directorul de lucru al submodului. Obținând permisiuni de scriere în .git/, atacatorul poate suprascrie apelurile hook prin .git/hooks și poate executa cod arbitrar în timpul desfășurării operațiunii „git clone”.

Alte vulnerabilități:

  • CVE-2024-32004 — în sistemele multi-utilizator, un atacator poate pregăti un repository local special conceput și poate determina executarea codului atunci când este clonat. În special, atacatorul poate crea un repository local care să pară un clon parțial, în care lipsește un anumit obiect. Clonarea acestui repository va duce la executarea codului cu privilegii ale utilizatorului care desfășoară operațiunea de clonare.
  • CVE-2024-32465 — clonarea din arhive zip care conțin un repository git complet, incluzând hook-uri în directorul .git/, va conduce la executarea acestor hook-uri.
  • CVE-2024-32020 — crearea clonurilor locale ale unui repository pe același disc în sistemele multi-utilizator permite altor utilizatori să modifice fișierele pentru care sunt utilizate linkuri dure.
  • CVE-2024-32021 — clonarea unui repository local cu linkuri simbolice poate fi folosită pentru a crea linkuri dure către fișiere arbitrare în directorul objects/.

Pe lângă remedierea vulnerabilităților din versiunile noi, au fost propuse și câteva modificări menite să îmbunătățească protecția împotriva vulnerabilităților care duc la executarea la distanță a codului și care manipulează link-urile simbolice în timpul clonării. De exemplu, git va emite acum un avertisment atunci când există link-uri simbolice în directorul .git/. Cărțile către submodule pot conține acum doar directoare reale. Atunci când se intersectează link-urile simbolice și directoarele, se vor trata directoarele. La executarea „git clone” s-a adăugat o protecție împotriva executării hook-urilor în timpul clonării și s-au întărit verificările pentru parametrul core.hooksPath.

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