Git, системата за контрол на изходния код разпределен, е засегнат от поредица от уязвимости, от които един от тях е класифициран с критично ниво на сериозност, тъй като позволява изпълнението на злонамерен код чрез клониране на хранилище, манипулирано от нападател с помощта на командата „git clone“.
За да разрешите скорошни уязвимости, Беше пусната Git версия 2.45.1, който адресира пет критични уязвимости, засягащи Windows, macOS, Linux и BSD.
Критични уязвимости в Git
Новите коригиращи версии на Git, вариращи от версия 2.45.1 до 2.39.4 и разрешаване на петте уязвимости, като най-сериозната от тези уязвимости (CVE-2024-32002), което се среща само във файлови системи които са нечувствителни към малки и главни букви и поддържат символни връзки, като тези, използвани по подразбиране в Windows и macOS.
Този път затова добавихме още промени, които не само коригират съществуващи проблеми със сигурността, но също така се опитват да намалят сериозността на всички свързани уязвимости, които могат да бъдат открити в бъдеще:
Git въведе няколко подобрения в сигурността, за да защити от отдалечено изпълнение на код (RCE), когато нападател може да изпълни вреден код на вашия компютър.
Споменава се, че проблемът възниква при създаване на директория и символна връзка в подмодула, различавайки се само в използването на главни и малки букви, което позволява файловете да бъдат записвани в директорията .git/ вместо в работната директория на подмодула. Като придобиете способността да пишете .git/, нападателят може да промени куки чрез .git/куки и изпълнява произволен код по време на «"git клонинг".
на други уязвимости, които бяха коригирани звук:
- CVE-2024-32004 („високо“ ниво на сериозност): На многопотребителски машини, атакуващият може да подготви локално хранилище да се показва като частично клониране с липсващ обект, така че когато това хранилище бъде клонирано, Git ще изпълни произволен код по време на операцията с пълни разрешения на потребителя, извършващ клонирането .
- CVE-2024-32465 („високо“ ниво на сериозност): Клонирането от .zip файлове, съдържащи хранилища на Git, може да заобиколи защитите, потенциално позволявайки несигурни кукички да бъдат изпълнени. Има обстоятелства, при които поправките за CVE-2024-32004 не са достатъчни. Например, когато получавате .zip файл, съдържащ пълно копие на Git хранилище, не трябва да се разчита, че той е защитен по подразбиране, тъй като например връзките могат да бъдат конфигурирани да се изпълняват в контекста на това хранилище.
- CVE-2024-32020 („Ниско“ ниво на сериозност): Когато изходното и целевото хранилище се намират на един и същи диск, локалните клонинги могат да създадат твърди връзки на файлове в обектната база данни на целевото хранилище. Ако изходното хранилище е собственост на друг потребител, това означава, че тези новосвързани файлове могат да бъдат презаписани по всяко време от този друг потребител, което лесно може да изненада потребителите, които не са запознати с тази подробност на изпълнението.
- CVE-2024-32021 („Ниско“ ниво на сериозност): Когато клонира локално хранилище на източник, което съдържа символни връзки, Git може да създаде твърди връзки в директорията обекти/ към произволни файлове в същата файлова система като целевото хранилище. Това може да се използва при сложни атаки за манипулиране на Git да записва файлове извън работното дърво на Git и извън директорията. .git/.
Струва си да се спомене, че в допълнение към коригирането на уязвимостите, новите версии Те също въвеждат няколко промени, насочени към подобряване на защитата срещу уязвимости, които водят до отдалечено изпълнение на код и манипулиране на символни връзки при клониране. Пътищата към подмодулите вече могат да съдържат само действителни директории.
Освен това е публикуван подробен анализ на техниката за използване на уязвимостта CVE-2024-32002 и пример за експлойт, който позволява създаване на хранилища, които, когато се клонират с командата «git clone - рекурсивен«, те изпълняват кода, зададен от нападателя.
Ако се интересувате да научите повече за него, можете да се консултирате с подробностите В следващия линк.