opravy distribuovaného systému správy verzí 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, ve kterých byla odstraněna () v zpracovateli „«, která vede k odeslání přihlašovacích údajů na nesprávný hostitel při použití git klienta na repozitář s speciálně formátovanou URL obsahující znak nového řádku. Zranitelnost lze využít k odeslání přihlašovacích údajů na server ovládaný útočníkem z jiného hostitele.
Při použití URL ve formátu „https://evil.com?host=github.com/“ předá zpracovatel údajů při připojení k hostiteli evil.com autentizační parametry zadané pro github.com. Problém se projevuje při provádění takových operací, jako je „git clone“, včetně zpracování URL pro submoduly (například při provádění „git submodule update“ budou automaticky zpracovány URL zadané v souboru .gitmodules z repozitáře). Největší nebezpečí tato zranitelnost představuje v situacích, kdy vývojář provádí klonování repozitáře, aniž by viděl URL, například při práci se submoduly, nebo v systémech, které provádějí automatické úkony, například ve skriptech pro sestavení balíčků.
Pro zablokování zranitelnosti v nových verzích předávání znaku nového řádku v jakýchkoli hodnotách předávaných prostřednictvím protokolu výměny přihlašovacích údajů. Pro distribuce lze sledovat vydání aktualizací balíčků na stránkách , , , , , , .
Jako obchvat pro blokaci problému nepoužívat credential.helper při přístupu k veřejným repozitářům a nepoužívat „git clone“ v režimu „—recurse-submodules“ s neprověřenými repozitáři. Pro úplné zakázání zpracovatele credential.helper, který provádí a vyjímání hesel z , chráněné nebo souboru s hesly, lze použít příkazy:
git config —unset credential.helper
git config —global —unset credential.helper
git config —system —unset credential.helper
Zdroj: opennet.ru
