Публикувани са корективни версии на разпределената система за управление на изходния код Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 и 2.30.9, в които са отстранени пет уязвимости. Следете за актуализациите на пакетите в дистрибутивите на страниците на Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Като мерки за защита от уязвимостите се препоръчва да се избягва изпълнението на командата «git apply —reject» при работа с непроверени външни пачове и да се проверява съдържанието на $GIT_DIR/config преди стартиране на командите «git submodule deinit», «git config —rename-section» и «git config —remove-section» при работа с ненадеждни хранилища.
Уязвимостта CVE-2023-29007 позволява подмяна на настройките в конфигурационния файл $GIT_DIR/config, които могат да бъдат използвани за изпълнение на код в системата чрез указване на пътища до изпълняеми файлове в директивите core.pager, core.editor и core.sshCommand. Уязвимостта е причинена от логическа грешка, при която много дълги стойности на конфигурацията могат да бъдат обработени като начало на нова секция при операция по преименуване или изтриване на секция в конфигурационния файл. На практика подмяната на експлоатируемите стойности може да бъде постигната чрез указване на много дълги URL адреси на субмодулите, които се записват в файла $GIT_DIR/config по време на инициализация. Тези URL адреси могат да бъдат интерпретирани като нови настройки при опит за тяхното изтриване чрез «git submodule deinit».
Уязвимостта CVE-2023-25652 позволява презаписване на съдържанието на файлове извън работната директория при обработка на специално оформени пачове с командата «git apply —reject». При опит за изпълнение на команда «git apply» с вредоносен пач, който се опитва да запише в файл чрез символична връзка, операцията ще бъде отхвърлена. В Git 2.39.1 защитата срещу манипулации чрез символични връзки беше разширена с блокиране на пачове, създаващи символични връзки и опитващи се да изпълнят запис чрез тях. Същността на разглежданата уязвимост е, че Git не е взел предвид, че потребителят може да изпълни командата «git apply —reject», за да запише отхвърлените части от пача като файлове с разширение «.rej», и атакуващият може да използва тази възможност, за да запише съдържание в произволен каталог, в зависимост от текущите права за достъп.
Освен това, са отстранени три уязвимости, проявяващи се само на платформата Windows: CVE-2023-29012 (търсене на изпълнима doskey.exe в работната директория на репозитория при изпълнение на командата „Git CMD“, което позволява извършване на собствен код в системата на потребителя), CVE-2023-25815 (препълване на буфера при обработка на специално форматирани файлове за локализация в gettext) и CVE-2023-29011 (възможност за подмяна на файла connect.exe при работа през SOCKS5).
Източник: opennet.ru
