Абнаўленне Git з ухіленнем яшчэ адной уразлівасці

Апублікаваны карэкціруючыя выпускі размеркаванай сістэмы кіравання зыходнымі тэкстамі Git 2.26.2, 2.25.4, 2.24.3, 2.23.3, 2.22.4, 2.21.3, 2.20.4, 2.19.5, 2.18.4 і 2.17.5. ліквідавана уразлівасць (CVE-2020-11008), якая нагадвае праблему, ухіленую на мінулым тыдні. Новая ўразлівасць таксама закранае апрацоўшчыкі «credential.helper» і эксплуатуецца пры перадачы спецыяльна аформленага URL, які змяшчае сімвал новага радка, пусты хост або не ўказаную схему запыту. Пры апрацоўцы падобнага URL credential.helper адпраўляе інфармацыю аб уліковых дадзеных, якія не адпавядаюць запытанаму пратаколу або хасту, да якога ажыццяўляецца зварот.

У адрозненне ад мінулай праблемы пры эксплуатацыі новай уразлівасці атакавалы не можа наўпрост кантраляваць хост, ад якога будуць перададзены чужыя ўліковыя дадзеныя. Тое, якія ўліковыя дадзеныя ўцякуць залежыць ад асаблівасцяў апрацоўкі адсутнага параметра "host" у credential.helper. Сутнасць праблемы ў тым, што пустыя палі ў URL інтэрпрэтуюцца шматлікімі апрацоўшчыкамі credential.helper як інструкцыі для ўжывання да бягучага звароту любых уліковых дадзеных. Такім чынам credential.helper можа адправіць на паказаны ў URL сервер атакавалага ўліковыя дадзеныя, захаваныя для іншага сервера.

Праблема выяўляецца пры выкананні такіх аперацый, як "git clone" і "git fetch", але найболей небяспечная пры апрацоўцы субмодуляў - пры выкананні "git submodule update" аўтаматычна апрацоўваюцца URL, зададзеныя ў файле .gitmodules з рэпазітара. У якасці абыходнага шляху блакавання праблемы рэкамендуецца не выкарыстоўваць credential.helper пры звароце да публічных рэпазітароў і не ўжываць "git clone" у рэжыме "-recurse-submodules" з неправеранымі рэпазітарамі.

Прапанаванае ў новых выпусках Git выпраўленне забараняе выклік credential.helper для URL, якія змяшчаюць непрадстаўляльныя значэнні (напрыклад, пры ўказанні трох слэшаў замест двух - "http:///host" або без схемы пратакола - "http::ftp.example.com/"). Праблема закранае апрацоўшчыкі store (убудаванае сховішча уліковых дадзеных Git), cache (убудаваны кэш уведзеных уліковых дадзеных) і osxkeychain (сховішча для macOS). Апрацоўшчык Git Credential Manager (сховішча для Windows) уразлівасці не схільны.

Прасачыць за выпускам абнаўленняў пакетаў у дыстрыбутывах можна на старонках Debian, Ubuntu, RHEL, SUSE/openSUSE, Мяккая фетравы капялюш, арка, ALT, FreeBSD.

Крыніца: opennet.ru

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