Уразлівасці ў Git, якія дазваляюць перазапісаць файлы або выканаць свой код

Апублікаваныя карэкціруючыя выпускі размеркаванай сістэмы кіравання зыходнымі тэкстамі 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, у якіх ухілена пяць уразлівасцяў. Прасачыць за выпускам абнаўленняў пакетаў у дыстрыбутывах можна на старонках 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 (перапаўненне буфера пры апрацоўцы спецыяльна аформленых файлаў лакалізацыі ў gettext) і CVE-2023-25815 (магчымасць падмены файла connect.exe пры працы праз SOCKS2023).

Крыніца: opennet.ru

Дадаць каментар