Уразлівасці ў Git, якія выяўляюцца пры кланаванні субмодуляў і выкарыстанні git shell

Апублікаваныя карэкціруючыя выпускі размеркаванай сістэмы кіравання зыходнымі тэкстамі Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 і 2.37.4, у якіх узв. , якія праяўляюцца пры ўжыванні каманды "git clone" у рэжыме "-recurse-submodules" з неправеранымі рэпазітарамі і пры выкарыстанні інтэрактыўнага рэжыму працы "git shell". Прасачыць за выпускам абнаўленняў пакетаў у дыстрыбутывах можна на старонках Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

  • CVE-2022-39253 — уразлівасць дазваляе атакаваламу, кантраляваламу змесціва кланаванага рэпазітара, атрымаць доступ да канфідэнцыйных дадзеных на сістэме карыстача, праз размяшчэнне ў каталогу $GIT_DIR/objects кланаванага рэпазітара сімвалічных спасылак на якія цікавяць файлы. Праблема выяўляецца толькі пры лакальным кланаванні (у рэжыме «—local», які ўжываецца калі мэтавыя і зыходныя дадзеныя кланавання знаходзяцца ў адной частцы) або пры кланаванні шкоднаснага рэпазітара, упакаванага ў форме субмодуля ў іншым рэпазітары (напрыклад, пры рэкурсіўным уключэнні субмодуляў камандай «git clone -recurse-submodules»).

    Уразлівасць выклікана тым, што ў рэжыме кланавання «local», git пераносіць змесціва $GIT_DIR/objects у мэтавы каталог (стварае цвёрдыя спасылкі або копіі файлаў), выконваючы разнайменне сімвалічных спасылак (г.зн. у выніку ў мэтавай каталог капіююцца не сімвалічныя спасылкі , а непасрэдна файлы, на якія паказваюць спасылкі). Для блакавання праявы ўразлівасці ў новых выпусках git забаронена кланаванне рэпазітароў у рэжыме «local», утрымоўвальных сімвалічныя спасылкі ў каталогу $GIT_DIR/objects. Акрамя таго, значэнне па змаўчанні параметра protocol.file.allow зменена на "user", што адносіць аперацыі кланавання з выкарыстаннем пратаколу file:// у разрад небяспечных.

  • CVE-2022-39260 - цэлалікавае перапаўненне ў функцыі split_cmdline(), выкарыстоўванай у камандзе «git shell». Праблема можа быць скарыстана для нападу на карыстачоў, у якіх «git shell» выкарыстоўваецца ў якасці абалонкі пры ўваходзе і ўключаны інтэрактыўны рэжым працы (створаны файл $HOME/git-shell-commands). Эксплуатацыя ўразлівасці можа прывесці да выканання адвольнага кода ў сістэме пры перадачы спецыяльна аформленай каманды, памерам больш за 2 ГБ.

Крыніца: opennet.ru

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