Chyby zabezpečení v Gitu, které umožňují přepisovat soubory nebo spouštět vlastní kód

Opravná vydání distribuovaného systému řízení zdrojů 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 byla publikována .XNUMX, která opravila pět zranitelností. Vydání aktualizací balíčků v distribucích můžete sledovat na stránkách Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Jako řešení ochrany před zranitelností se doporučuje vyhnout se spouštění příkazu "git apply --reject" při práci s netestovanými externími záplatami a před spuštěním "git submodule deinit", "git" zkontrolovat obsah $GIT_DIR/config config --rename-section" a " git config --remove-section" při práci s nedůvěryhodnými repozitáři.

Chyba zabezpečení CVE-2023-29007 umožňuje náhradu nastavení v konfiguračním souboru $GIT_DIR/config, který lze použít ke spuštění kódu v systému zadáním cest ke spustitelným souborům v direktivách core.pager, core.editor a core.sshCommand. Zranitelnost je způsobena logickou chybou, kvůli které mohou být velmi dlouhé konfigurační hodnoty považovány za začátek nové sekce při přejmenování nebo odstranění sekce z konfiguračního souboru. V praxi lze substituce exploitativních hodnot dosáhnout zadáním velmi dlouhých URL submodulů, které jsou během inicializace uloženy v souboru $GIT_DIR/config. Tyto adresy URL lze při pokusu o jejich odstranění pomocí „git submodule deinit“ interpretovat jako nová nastavení.

Chyba zabezpečení CVE-2023-25652 umožňuje přepsání obsahu souborů mimo pracovní strom, když jsou speciálně vytvořené záplaty zpracovávány příkazem "git apply --reject". Pokud se pokusíte provést záplatu pomocí příkazu „git apply“, který se pokusí zapsat do souboru prostřednictvím symbolického odkazu, operace bude odmítnuta. V Git 2.39.1 byla ochrana před manipulací se symbolickými odkazy rozšířena o blokování záplat, které vytvářejí symbolické odkazy a pokoušejí se přes ně zapisovat. Podstata zvažované zranitelnosti spočívá v tom, že Git nevzal v úvahu, že uživatel může spustit příkaz „git apply -reject“ a zapsat odmítnuté části opravy jako soubory s příponou „.rej“ a útočník může využijte tuto příležitost k zápisu obsahu do libovolného adresáře, pokud to aktuální oprávnění umožňují.

Kromě toho byly opraveny tři zranitelnosti, které se objevují pouze na platformě Windows: CVE-2023-29012 (vyhledejte spustitelný soubor doskey.exe v pracovním adresáři úložiště při provádění příkazu „Git CMD“, který umožňuje organizovat spuštění vašeho kódu v systému uživatele), CVE-2023 -25815 (přetečení vyrovnávací paměti při zpracování vlastních lokalizačních souborů v gettextu) a CVE-2023-29011 (možnost nahrazení souboru connect.exe při práci přes SOCKS5).

Zdroj: opennet.ru

Přidat komentář