Ranljivosti v Gitu, ki vam omogočajo prepisovanje datotek ali izvajanje lastne kode

Popravne izdaje sistema za nadzor porazdeljenega vira Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 in 2.30.9 so bili objavljeni .XNUMX, v katerem je bilo odpravljenih pet ranljivosti. Izdaji posodobitev paketov v distribucijah lahko sledite na straneh Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Kot rešitev za zaščito pred ranljivostmi je priporočljivo, da se izogibate izvajanju ukaza "git apply --reject", ko delate z nepreizkušenimi zunanjimi popravki, in da preverite vsebino $GIT_DIR/config, preden zaženete "git submodule deinit", "git config --rename-section" in " git config --remove-section" pri delu z nezaupljivimi repozitoriji.

Ranljivost CVE-2023-29007 omogoča zamenjavo nastavitev v konfiguracijski datoteki $GIT_DIR/config, ki jo je mogoče uporabiti za izvajanje kode v sistemu z navedbo poti do izvedljivih datotek v direktivah core.pager, core.editor in core.sshCommand . Ranljivost je posledica logične napake, ki lahko povzroči, da se zelo dolge konfiguracijske vrednosti obravnavajo kot začetek novega odseka pri izvajanju operacij preimenovanja ali brisanja odseka iz konfiguracijske datoteke. V praksi je mogoče zamenjavo vrednosti, ki izkoriščajo ranljivost, doseči z navedbo zelo dolgih URL-jev podmodulov, ki se med inicializacijo shranijo v datoteko $GIT_DIR/config. Ti URL-ji se lahko razlagajo kot nove nastavitve, ko jih poskušate odstraniti prek "git submodule deinit".

Ranljivost CVE-2023-25652 omogoča prepisovanje vsebine datotek zunaj delovnega drevesa pri obdelavi posebej zasnovanih popravkov z ukazom »git apply –reject«. Če poskusite izvesti zlonamerni popravek z ukazom "git apply", ki poskuša pisati v datoteko prek simbolne povezave, bo operacija zavrnjena. V Git 2.39.1 je bila zaščita pred manipulacijo simbolnih povezav razširjena tako, da blokira popravke, ki ustvarjajo simbolne povezave in poskušajo pisati prek njih. Bistvo obravnavane ranljivosti je v tem, da Git ni upošteval, da lahko uporabnik z ukazom “git apply –reject” zapiše zavrnjene dele popravka kot datoteke s končnico “.rej”, napadalec pa lahko uporabi ta funkcija za pisanje vsebine v poljuben imenik, če to dovoljujejo trenutne pravice dostopa.

Poleg tega so bile odpravljene tri ranljivosti, ki se pojavljajo samo na platformi Windows: CVE-2023-29012 (iskanje izvedljive datoteke doskey.exe v delovnem imeniku repozitorija pri izvajanju ukaza »Git CMD«, ki omogoča organiziranje izvajanje vaše kode na uporabnikovem sistemu), CVE-2023 -25815 (prekoračitev medpomnilnika pri obdelavi posebej oblikovanih lokalizacijskih datotek v gettext) in CVE-2023-29011 (možnost ponarejanja datoteke connect.exe pri delu prek SOCKS5).

Vir: opennet.ru

Dodaj komentar