Aktualizacja Gita z naprawioną kolejną luką

Opublikowany wydania korygujące rozproszonego systemu kontroli źródła 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óry wyeliminował słaby punkt (CVE-2020-11008), przypominam problem, wyeliminowany w zeszłym tygodniu. Nowa luka dotyczy również procedur obsługi „credential.helper” i jest wykorzystywana podczas przekazywania specjalnie sformatowanego adresu URL zawierającego znak nowego wiersza, pusty host lub nieokreślony schemat żądania. Podczas przetwarzania takiego adresu URL credential.helper wysyła informacje o poświadczeniach, które nie pasują do żądanego protokołu lub hosta, do którego uzyskuje się dostęp.

W przeciwieństwie do poprzedniego problemu, w przypadku wykorzystania nowej luki osoba atakująca nie może bezpośrednio kontrolować hosta, z którego zostaną przesłane dane uwierzytelniające innej osoby. To, jakie dane uwierzytelniające wyciekną, zależy od sposobu obsługi brakującego parametru „host” w pliku credential.helper. Sednem problemu jest to, że puste pola w adresie URL są interpretowane przez wiele procedur obsługi pliku credential.helper jako instrukcje dotyczące zastosowania jakichkolwiek danych uwierzytelniających do bieżącego żądania. W ten sposób credential.helper może wysłać dane uwierzytelniające przechowywane dla innego serwera do serwera atakującego określonego w adresie URL.

Problem pojawia się podczas wykonywania operacji takich jak „git clone” i „git fetch”, jednak najbardziej niebezpieczny jest przy przetwarzaniu podmodułów - podczas wykonywania „git submodule update” automatycznie przetwarzane są adresy URL określone w pliku .gitmodules z repozytorium. Jako obejście mające na celu zablokowanie problemu zalecane Nie używaj pliku credential.helper podczas uzyskiwania dostępu do publicznych repozytoriów i nie używaj „git clone” w trybie „--recurse-submodules” z niesprawdzonymi repozytoriami.

Oferowane w nowych wydaniach Git korekta zapobiega wywoływaniu pliku credential.helper dla adresów URL zawierających wartości niereprezentowalne (na przykład w przypadku określenia trzech ukośników zamiast dwóch - „http:///host” lub bez schematu protokołu - „http::ftp.example.com/”). Problem dotyczy sklepu (wbudowanego magazynu poświadczeń Git), pamięci podręcznej (wbudowanej pamięci podręcznej wprowadzonych poświadczeń) i procedur obsługi osxkeychain (pamięci macOS). Nie ma to wpływu na procedurę obsługi Git Credential Manager (repozytorium Windows).

Możesz śledzić wydawanie aktualizacji pakietów w dystrybucjach na stronach Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, łuk, ALT, FreeBSD.

Źródło: opennet.ru

Dodaj komentarz