Boli zverejnené opravy distribuovaného systému správy zdrojového kódu Git vo verziách 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 a 2.30.9, v ktorých bolo odstránených päť zraniteľností. Informácie o vydaní aktualizácií balíkov vo distribúciách môžete sledovať na stránkach Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Ako obchádzacie opatrenia na ochranu pred zraniteľnosťami sa odporúča vyhnúť sa vykonávaniu príkazu „git apply —reject“ pri práci s neoverenými externými záplatami a skontrolovať obsah $GIT_DIR/config pred spustením príkazov „git submodule deinit“, „git config —rename-section“ a „git config —remove-section“ pri práci s nedôveryhodnými repozitármi.
Zraniteľnosť CVE-2023-29007 umožňuje nahradenie nastavení v konfiguračnom súbore $GIT_DIR/config, ktoré môžu byť použité na vykonávanie kódu v systéme prostredníctvom zadania ciest k vykonávateľným súborom v direktívach core.pager, core.editor a core.sshCommand. Zraniteľnosť je spôsobená logickou chybou, kvôli ktorej veľmi dlhé hodnoty konfigurácie môžu byť spracované ako začiatok novej sekcie pri vykonávaní operácií premenovania alebo odstraňovania sekcie zo súboru konfigurácie. V praxi je možné nahradenie zraniteľnosť využívajúceho hodnoty dosiahnuť zadaním veľmi dlhých URL submodulov, ktoré sa ukladajú do súboru $GIT_DIR/config počas inicializácie. Tieto URL môžu byť interpretované ako nové nastavenia pri pokuse o ich odstránenie cez „git submodule deinit“.
Zraniteľnosť CVE-2023-25652 umožňuje prepísať obsah súborov mimo pracovného adresára pri spracovaní príkazom „git apply —reject“ špeciálne formátovaných záplat. Pri pokuse o vykonanie príkazu „git apply“ škodlivej záplaty, ktorá sa pokúša vykonať zápis do súboru prostredníctvom symbolického odkazu, bude operácia zamietnutá. Vo verzii Git 2.39.1 bola ochrana proti manipuláciám cez symbolické odkazy doplnená o blokovanie záplat, ktoré vytvárajú symbolické odkazy a snažia sa prostredníctvom nich vykonať zápis. Podstata posudzovanej zraniteľnosti je v tom, že Git nezohľadňoval, že používateľ môže vykonať príkaz „git apply —reject“ na zápis odmietnutých častí záplaty vo forme súborov s príponou „.rej“, a útočník môže túto možnosť využiť na zápis obsahu do ľubovoľného adresára, pokiaľ to dovolujú aktuálne prístupové práva.
Okrem toho boli odstránené tri zraniteľnosti, ktoré sa prejavovali len na platforme Windows: CVE-2023-29012 (vyhľadanie spustiteľného doskey.exe v pracovnom adresári repozitára pri vykonávaní príkazu „Git CMD“, čo umožňuje vykonávanie vlastného kódu v systéme používateľa), CVE-2023-25815 (preplnenie zásobníka pri spracovaní špeciálne upravených súborov lokalizácie v gettext) a CVE-2023-29011 (možnosť podmienky súboru connect.exe pri práci cez SOCKS5).
Zdroj: opennet.ru
