korrektsioonivĂ€ljaanded hajutatud allikahaldussĂŒsteemist Git 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 ja 2.14.6, kus on kĂ”rvaldatud haavatavused, mis vĂ”imaldavad rĂŒndajal kirjutada suvalisi teid failisĂŒsteemis, korraldada kaugkoodi tĂ€itmist vĂ”i kirjutada ĂŒle faile kaustas «.git/». Enamik probleeme avastasid
Microsoft Security Response Center, viis kaheksast haavatavusest on spetsiifilised Windowsi platvormile.
- â voogedastamise kĂ€sk «feature export-marks=path» mis vĂ”imaldas kirjutada mĂ€rke suvalistesse kaustadesse, mida vĂ”idi kasutada suvaliste teede kirjutamiseks FSi, kui tehti «git fast-import» operatsiooni kontrolimata sisendiga.
- â vale argumentide kĂ€surea pĂ”genemine rĂŒndaja koodi kaugkĂ€ivitamiseni rekursiivse kloonimise korral, kasutades ssh:// URL-i. EelkĂ”ige töötles vale argumentide pĂ”genemine, mis lĂ”ppes tagurpidi kaldkriipsuga (nt «test \»). Sellisel juhul, kui argument on ĂŒmbritsetud topelt jutumarkidega, tĂ€hendas viimane jutumĂ€rk, et see oli pĂ”genenud, mis lubas rĂŒndajal enda valikute asendamise kĂ€sureale.
- â rekursiivse kloonimise alusel alamkomplektide osas («clone ârecurse-submodules») Windowsi keskkonnas teatud tingimustel algatada ĂŒhte git-kausta kaks korda (.git, git~1, git~2 ja git~N NTFS-is mÀÀratakse ĂŒhe kaustana, kuid seda olukorda kontrolliti ainult git~1 puhul), mida saadi kasutada kirjutamiseks kausta «.git». RĂŒndaja vĂ”ib nĂ€iteks sisestada oma skripti post-checkouti kĂ€itleja kaudu failis .git/config, et korraldada oma koodi tĂ€itmist.
- â Windowsi teede kĂ€sitlemise tĂ€hestikuliste draivi nimede töötleja, mis haldab teid nagu «C:\», oli mĂ”eldud ainult ĂŒhetĂ€heline ladina identifikaatorite asendamiseks, kuid ei arvestanud virtuaalsete kĂ”vaketaste loomise vĂ”imalust, mida mÀÀratakse "subst tĂ€he:tee" kaudu. Selliseid teid kĂ€sitleti mitte kui absoluutseid, vaid kui suhtelisi teid, vĂ”imaldades pahatahtliku reposte kloonimise korral kirjutada mis tahes katalooge töötavate kataloogide puust vĂ€ljas (nĂ€iteks numbrite vĂ”i unicode-mĂ€rkide kasutamise korral draivi nimes â «1:\what\the\hex.txt» vĂ”i «À:\tschibĂ€t.sch»).
- â Windowsi platvormil kasutatakse alternatiivseid andmevooge NTFS-is, mis on loodud, lisades failinime juurde mĂ€rgise «:stream-name:stream-type». kirjutada faile katalooge «.git/» pahatahtliku reposte kloonimise ajal. NĂ€iteks NTFS-is töötles nime «.git::$INDEX_ALLOCATION» korrektse viitena kataloogile «.git».
- â Git-i kasutamisel WSL (Windows Subsystem for Linux) keskkonnas töötava katalooge NTFS-i nimede manipuleerimise kaitset (FAT-nimede tĂ”lke kaudu suudeti rĂŒnnata, nĂ€iteks, «.git» oli vĂ”imalik juurdepÀÀseda lĂ€bi katalooge «git~1»).
- â
Windowsi platvormil katalooge «.git/» kirjutamine pahatahtlike reposte kloonimise ajal, mis sisaldavad faile tagurpidi kaldkriipsuga nime (nĂ€iteks «a\b»), mis on lubatud Unix/Linuxis, kuid Windowsis tĂ”lgendatakse teena. - â alamsubmodulite nimede ebapiisav kontroll vĂ”is olla suunatud rĂŒnnakute korral, mis potentsiaalselt vĂ”isid rĂŒndaja koodi tĂ€itmiseni. Git ei keelanud alamsubmoduli katalooge luua teise alamsubmoduli kataloogis, mis enamus juhtudel pĂ”hjustab lihtsalt segadust, kuid potentsiaalselt ei vĂ€lista, et teise mooduli sisu ĂŒlekirjutatakse rekursiivse kloonimise kĂ€igus (nĂ€iteks alamsubmoduli kataloogid «hippo» ja «hippo/hooks» asuvad vastavalt «.git/modules/hippo/» ja «.git/modules/hippo/hooks/», ja «hooks» katalooge hippos saab eraldi kasutada kĂ€ivitatavate töötlemiseks).
Windowsi kasutajatel soovitatakse neil kiiresti vĂ€rskendada Git versiooni ning enne vĂ€rskendust hoiduda kontrollimata hoidlate kloonimisest. Kui vĂ€rskendamine ei ole kohe vĂ”imalik, siis rĂŒnnakuriskide vĂ€hendamiseks ei tohi kĂ€ivitada "git clone --recurse-submodules" ja "git submodule update" kontrollimata hoidlatest, samuti mitte kasutada "git fast-import" kontrollimata sisendvoogude jaoks ning mitte kloonida hoidlaid NTFS-pĂ”histele sektsioonidele.
Lisakaitseks on uutes versioonides keelatud .gitmodules failis kasutada konstruktsioone vormis "submodule.{name}.update=!command". Pakettide uuenduste vÀljaandete jÀlgimiseks saab kasutada lehti. ,, , , , , , .
Allikas: opennet.ru
