Byly vydány opravy pro distribuovaný systém správy zdrojových kódů 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 a 2.30.9, ve kterých bylo odstraněno pět zranitelností. Sledujte vydání aktualizací balíčků v distribucích na stránkách Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Jako obranou proti zranitelnostem se doporučuje vyhnout se provádění příkazu „git apply —reject“ při práci s neověřenými externími patche a zkontrolovat obsah $GIT_DIR/config před spuštěním příkazů „git submodule deinit“, „git config —rename-section“ a „git config —remove-section“ při práci s nedůvěryhodnými repozitáři.
Zranitelnost CVE-2023-29007 umožňuje substituci nastavení v konfiguračním souboru $GIT_DIR/config, která mohou být použita k provedení kódu v systému prostřednictvím určení cest k vykonatelným souborům v direktivách core.pager, core.editor a core.sshCommand. Zranitelnost je způsobena logickou chybou, která způsobuje, že velmi dlouhé hodnoty konfigurace mohou být zpracovány jako začátek nové sekce při provádění operací přejmenování nebo odstranění sekce ze souboru s konfigurací. V praxi lze zneužitelné hodnoty získat uvedením velmi dlouhých URL submodulů, které se ukládají do souboru $GIT_DIR/config během inicializace. Tyto URL mohou být interpretovány jako nová nastavení při pokusu o jejich odstranění pomocí „git submodule deinit“.
Zranitelnost CVE-2023-25652 umožňuje přepsání obsahu souborů mimo pracovní strom při zpracování příkazu „git apply —reject“ speciálně formátovaných patchů. Při pokusu o spuštění příkazu „git apply“ škodlivého patchu, který se snaží provést zápis do souboru prostřednictvím symbolické odkazy, bude operace zamítnuta. V Git 2.39.1 byla ochrana proti manipulacím prostřednictvím symbolických odkazů doplněna blokováním patchů, které vytvářejí symbolické odkazy a pokoušejí se provést zápis prostřednictvím nich. Podstatou uvažované zranitelnosti je to, že Git nezohlednil, že uživatel může provést příkaz „git apply —reject“ pro zápis odmítnutých částí patchu jako soubory s příponou „.rej“ a útočník může tuto možnost využít k zápisu obsahu do libovolného adresáře, jak dovolují současná oprávnění.
Kromě toho byly odstraněny tři zranitelnosti, které se projevovaly pouze na platformě Windows: CVE-2023-29012 (vyhledávání spustitelného souboru doskey.exe v pracovním adresáři repozitáře při provádění příkazu „Git CMD“, což umožňuje spuštění vlastního kódu v systému uživatele), CVE-2023-25815 (přetečení bufferu při zpracování speciálně upravených souborů lokalizace v gettext) a CVE-2023-29011 (možnost podvést soubor connect.exe při práci přes SOCKS5).
Zdroj: opennet.ru
