opravy distribučného systému správy zdrojových kódov Git 2.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 a 2.17.4, v ktorých bola odstránená () v spracovateľovi „„, čo vedie k odoslaniu prístupových údajov na nesprávny hostiteľ pri prístupe git klienta k úložisku cez špeciálne upravené URL obsahujúce znak nového riadku. Zraniteľnosť môže byť použitá na zorganizovanie odoslania prístupových údajov k serveru ovládanému útočníkom z iného hostiteľa.
Ak je zadaná URL vo forme „https://evil.com?host=github.com/“, spracovateľ údajov pri pripojení k hostiteľovi evil.com prenesie overovacie údaje zadané pre github.com. Problém sa prejavuje pri vykonávaní takých operácií, ako je „git clone“, vrátane spracovania URL pre submoduly (napríklad pri vykonávaní „git submodule update“ budú automaticky spracované URL zadané v súbore .gitmodules z repozitára). Najväčšiu hrozbu predstavuje zraniteľnosť v situáciách, keď vývojár klonuje repozitár bez toho, aby videl URL, napríklad pri práci so submodulmi alebo v systémoch, ktoré vykonávajú automatizované úkony, napríklad v skriptoch na zostavovanie balíkov.
Na zablokovanie zraniteľnosti v nových verziách sa musí zablokovať odosielanie znaku nového riadku v akýchkoľvek hodnotách, ktoré sú prenášané cez protokol výmeny prístupových údajov. Pre distribúcie je možné sledovať vydanie aktualizácií balíkov na stránkach , , , , , , .
Ako obchádzajúce riešenie na zablokovanie problému nepoužívať credential.helper pri prístupe k verejným úložiskám a neaplikovať „git clone“ v režime „—recurse-submodules“ s neoverenými úložiskami. Na úplné vypnutie spracovateľa credential.helper, ktorý vykonáva a načítanie hesiel z , chráneného alebo súboru s heslami, možno použiť príkazy:
git config —unset credential.helper
git config —global —unset credential.helper
git config —system —unset credential.helper
Zdroj: opennet.ru
