Ranljivosti v Gitu, ki vodijo do uhajanja podatkov in prepisovanja

Objavljene so bile popravne izdaje sistema za nadzor porazdeljene izvorne kode Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 in 2.30.8, ki popravljajo dve ranljivosti, ki vplivata na optimizacije za lokalno kloniranje in ukaz "git apply". Izdaji posodobitev paketov v distribucijah lahko sledite na straneh Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Če posodobitve ni mogoče namestiti, priporočamo, da se kot rešitev izognete izvajanju operacije "git clone" z možnostjo "--recurse-submodules" na repozitorijih, ki jim ni zaupanja vreden, in da se izogibate uporabi "git apply" in " git am" ukazi na nezaupnih repozitorijih. koda.

  • Ranljivost CVE-2023-22490 omogoča napadalcu, ki nadzoruje vsebino kloniranega repozitorija, dostop do občutljivih podatkov v uporabnikovem sistemu. Dve pomanjkljivosti prispevata k pojavu ranljivosti:

    Prva pomanjkljivost omogoča, da pri delu s posebej zasnovanim repozitorijem dosežete uporabo lokalnih optimizacij kloniranja tudi pri uporabi transporta, ki je v interakciji z zunanjimi sistemi.

    Druga napaka omogoča postavitev simbolne povezave namesto imenika $GIT_DIR/objects, podobno kot ranljivost CVE-2022-39253, za katero je popravek blokiral postavitev simbolnih povezav v imenik $GIT_DIR/objects, vendar ni preverite dejstvo, da je sam imenik $GIT_DIR/objects morda simbolična povezava.

    V načinu lokalnega kloniranja git prenese $GIT_DIR/objects v ciljni imenik z dereferenciranjem simbolnih povezav, kar povzroči, da se neposredno navedene datoteke kopirajo v ciljni imenik. Preklop na uporabo lokalnih optimizacij kloniranja za nelokalni transport omogoča izkoriščanje ranljivosti pri delu z zunanjimi repozitoriji (na primer, rekurzivno vključevanje podmodulov z ukazom »git clone —recurse-submodules« lahko vodi do kloniranja zlonamernega repozitorija, zapakiranega kot podmodul v drugem skladišču).

  • Ranljivost CVE-2023-23946 omogoča, da se vsebina datotek zunaj delovnega imenika prepiše s posredovanjem posebej izdelanega vnosa ukazu "git apply". Napad se lahko na primer izvede med obdelavo popravkov, ki jih pripravi napadalec v »git apply«. Če želite preprečiti, da bi popravki ustvarjali datoteke zunaj delovne kopije, "git apply" blokira obdelavo popravkov, ki poskušajo zapisati datoteko z uporabo simbolnih povezav. Toda izkazalo se je, da je to zaščito mogoče zaobiti z ustvarjanjem simbolične povezave.

Vir: opennet.ru

Dodaj komentar