Korygujące wydania rozproszonego systemu zarządzania kodem źródłowym Git 2.26.2, 2.25.4, 2.24.3, 2.23.3, 2.22.4, 2.21.3, 2.20.4, 2.19.5, 2.18.4 i 2.17.5, w których usunięto. (), przypominająca , usuniętą w zeszłym tygodniu. Nowa luka dotyczy również handlerów „credential.helper” i jest wykorzystywana podczas przesyłania specjalnie sformatowanego URL, zawierającego znak nowej linii, pusty host lub brak schemy żądania. Podczas przetwarzania takiego URL credential.helper przesyła dane uwierzytelniające, które nie odpowiadają żądanemu protokołowi lub hostowi, do którego jest kierowane.
W przeciwieństwie do poprzedniego problemu, przy wykorzystaniu nowej luki atakujący nie może bezpośrednio kontrolować hosta, z którego będą przesyłane obce dane uwierzytelniające. To, jakie dane uwierzytelniające wyciekną, zależy od szczegółów przetwarzania brakującego parametru „host” w credential.helper. Istotą problemu jest to, że puste pola w URL są interpretowane przez wiele handlerów credential.helper jako instrukcje do zastosowania w bieżącej operacji wszelkich danych uwierzytelniających. W ten sposób credential.helper może przesłać na wskazany w URL serwer atakującego dane uwierzytelniające, które zostały zapisane dla innego serwera.
Problem pojawia się podczas wykonywania operacji takich jak „git clone” i „git fetch”, ale jest najbardziej niebezpieczny podczas obsługi submodułów — podczas wykonywania „git submodule update” automatycznie przetwarzane są URL-e określone w pliku .gitmodules z repozytorium. Jako obejście problemu nie stosować credential.helper do uzyskiwania dostępu do publicznych repozytoriów i nie stosować „git clone” w trybie „—recurse-submodules” z niezweryfikowanymi repozytoriami.
Zalecane w nowych wydaniach Git zakazuje wywoływania credential.helper dla URL, które zawierają (na przykład przy określeniu trzech ukośników zamiast dwóch — „http:///host” lub bez schemy protokołu — „http::ftp.example.com/”). Problem dotyczy handlerów store (wbudowane przechowywanie danych uwierzytelniających Git), cache (wbudowane pamięci podręczne wprowadzonych danych uwierzytelniających) i osxkeychain (magazyn dla macOS). Handler Git Credential Manager (magazyn dla Windows) nie jest podatny na tę lukę.
Mogą Państwo śledzić wydanie aktualizacji pakietów w dystrybucjach na stronach , , , , , , , .
Źródło: opennet.ru
