Уязвимости в Git, водещи до изтичане и презаписване на данни

Публикувани са коригиращи версии на разпределената система за управление на изходния код Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 и 2.30.8, в които са отстранени две уязвимости, засягащи оптимизации при локално клониране и командата „git apply“. Можете да следите издаването на обновления в дистрибуции на страниците на Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Ако инсталирането на актуализация е невъзможно, се препоръчва да се избягва изпълнението на операцията „git clone“ с опцията „--recurse-submodules“ с ненадеждни репозитории и да не се използват командите „git apply“ и „git am“ с непроверен код.

  • Уязвимостта CVE-2023-22490 позволява на нападателя, контролиращ съдържанието на клонирания репозиторий, да получи достъп до конфиденциални данни на потребителската система. Появата на уязвимостта се дължи на две недоработки:

    Първата недоработка позволява при работа с предварително оформен репозиторий да се постигне прилагане на локални оптимизации при клониране, дори при използване на транспорт, взаимодействуващ с външни системи.

    Втората недоработка допуска поставяне на символична връзка вместо директория $GIT_DIR/objects, подобно на уязвимостта CVE-2022-39253, в поправката на която бе блокирано поставянето на символични връзки в директорията $GIT_DIR/objects, но не бе проверявано дали самата директория $GIT_DIR/objects може да бъде символична връзка.

    В режим на локално клониране git пренася $GIT_DIR/objects в целевата директория, извършвайки разименоване на символични връзки, което води до това, че в целевата директория се копират директно файловете, на които сочат връзките. Превключването към прилагане на локални оптимизации при клонирането за ненаселено предаване позволява експлоатирането на уязвимостта при работа с външни репозитории (например, рекурсивното включване на подмодули с командата „git clone --recurse-submodules“ може да доведе до клониране на злонамерен репозиторий, опакован като подмодул в друг репозиторий).

  • Уязвимостта CVE-2023-23946 позволява презаписване на съдържанието на файлове извън работната директория чрез предаване на специално форматиран вход в командата «git apply». Например, атака може да бъде извършена при обработка на патчове, създадени от нападатели, в «git apply». За да се предотврати създаването на файлове извън работната копия чрез патчове, «git apply» блокира обработката на патчове, които опитват да запишат файл, използвайки символични връзки. Но тази защита се оказа, че може да бъде заобиколена, създавайки символична връзка първоначално.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster