Objavljene so bile popravljene različice porazdeljenega sistema za upravljanje z izvorno kodo 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, ki odpravljajo pet ranljivosti. Sprotno spremljanje izdaj posodobitev paketov v distribucijah je mogoče na straneh Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Kot obvoz za zaščito pred ranljivostmi se priporoča, da se izogibate izvajanju ukaza „git apply —reject“ pri delu z nepreverjenimi zunanjimi popravki in preverite vsebino $GIT_DIR/config pred izvajanjem ukazov „git submodule deinit“, „git config —rename-section“ in „git config —remove-section“ pri delu z nezanesljivimi repozitoriji.
Ranljivost CVE-2023-29007 omogoča podstavitev nastavitev v datoteko konfiguracije $GIT_DIR/config, ki se lahko uporablja za izvajanje kode v sistemu prek navajanja poti do izvršljivih datotek v direktivah core.pager, core.editor in core.sshCommand. Ranljivost je povzročena z logično napako, zaradi katere zelo dolgi vrednosti konfiguracije lahko obdelamo kot začetek nove sekcije pri izvajanju operacij preimenovanja ali brisanja sekcije iz datoteke konfiguracije. V praksi je mogoče doseči podstavitev izkoriščevalnih vrednosti prek navajanja zelo dolgih URL-jev podmodulov, ki se shranijo v datoteko $GIT_DIR/config med inicializacijo. Ti URL-ji se lahko interpretirajo kot nove nastavitve pri poskusu njihovega brisanja preko „git submodule deinit“.
Ranljivost CVE-2023-25652 omogoča prepisovanje vsebine datotek izven delovnega drevesa pri obdelavi z ukazom „git apply —reject“ posebej oblikovanih popravkov. Pri poskusu izvajanja napadalnega popravka z ukazom „git apply“, ki poskuša zapisati datoteko prek simbolične povezave, bo operacija zavrnjena. V Git 2.39.1 je bila zaščita pred manipulacijami prek simboličnih povezav dopolnjena z blokiranjem popravkov, ki ustvarjajo simbolične povezave in poskušajo izvajati zapis prek njih. Bistvo obravnavane ranljivosti je v tem, da Git ni upošteval, da lahko uporabnik izvede ukaz „git apply —reject“ za zapis zavrnjenih delov popravka v obliki datotek z razširitvijo „.rej“, in napadalec lahko to možnost izkoristi za zapis vsebine v poljubno imenik, kolikor dovoljujejo trenutna dovoljenja.
Poleg tega so odpravljene tri ranljivosti, ki se pojavljajo le na platformi Windows: CVE-2023-29012 (iskanje izvršljive datoteke doskey.exe v delovnem imeniku repozitorija pri izvajanju ukaza „Git CMD“, kar omogoča izvajanje lastne kode v sistemu uporabnika), CVE-2023-25815 (prelivanje pomnilnika pri obdelavi posebej oblikovanih datotek lokalizacije v gettext) in CVE-2023-29011 (možnost zamenjave datoteke connect.exe pri delu prek SOCKS5).
Izvor: opennet.ru
