Zraniteľnosť v Git pri klonovaní submodulov a používaní shellu git

Boli zverejnené opravné vydania distribuovaného zdrojového riadiaceho systému 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 a 2.37.4, ktoré opravujú dve zraniteľnosti, ktoré sa objavia pri použití príkazu „git clone“ v režime „—recurse-submodules“ s nekontrolovanými úložiskami a pri použití interaktívneho režimu „git shell“. Vydanie aktualizácií balíkov v distribúciách môžete sledovať na stránkach Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

  • CVE-2022-39253 – Zraniteľnosť umožňuje útočníkovi, ktorý kontroluje obsah klonovaného úložiska, získať prístup k dôverným údajom v systéme používateľa umiestnením symbolických odkazov na súbory, ktoré vás zaujímajú, do adresára $GIT_DIR/objects klonovaného úložiska. Problém sa objaví iba pri lokálnom klonovaní (v režime „--local“, ktorý sa používa, keď sú cieľové a zdrojové údaje klonu v rovnakom oddiele) alebo pri klonovaní škodlivého úložiska zabaleného ako submodul do iného úložiska (napr. pri rekurzívnom zahrnutí submodulov pomocou príkazu "git clone" --recurse-submodules").

    Zraniteľnosť je spôsobená skutočnosťou, že v režime klonovania „--local“ git prenáša obsah $GIT_DIR/objects do cieľového adresára (vytvára pevné odkazy alebo kópie súborov), pričom vykonáva dereferenciu symbolických odkazov (t.j. výsledkom sú nesymbolické odkazy skopírované do cieľového adresára, ale priamo súbory, na ktoré odkazujú). Aby sa zablokovala zraniteľnosť, nové vydania git zakazujú klonovanie repozitárov v režime „--local“, ktoré obsahujú symbolické odkazy v adresári $GIT_DIR/objects. Okrem toho sa predvolená hodnota parametra protocol.file.allow zmenila na „user“, vďaka čomu sú operácie klonovania pomocou protokolu file:// nebezpečné.

  • CVE-2022-39260 - Pretečenie celého čísla vo funkcii split_cmdline() používanej v príkaze "git shell". Problém možno použiť na útoky na používateľov, ktorí majú ako prihlasovací shell „git shell“ a majú povolený interaktívny režim (bol vytvorený súbor $HOME/git-shell-commands). Využitie tejto zraniteľnosti môže viesť k spusteniu ľubovoľného kódu v systéme pri odosielaní špeciálne navrhnutého príkazu väčšieho ako 2 GB.

Zdroj: opennet.ru

Pridať komentár