Korrektiivversioonid jaotatud tekstihaldussüsteemile Git 2.39.1, 2.38.3, 2.37.5, 2.36.4, 2.35.6, 2.34.6, 2.33.6, 2.32.5, 2.31.6 ja 2.30.7 on avaldatud. Nendes on kõrvaldatud kaks haavatavust, mis võimaldavad ründajal käivitada oma koodi kasutaja süsteemis, kui kasutatakse käsku «git archive» ja töötatakse usaldusväärsete väliste hoidlate kallal. Haavatavused tulenevad vigadest commit’id keskenduvad ja «.gitattributes» faili analüüsimises, mis töötlemise käigus võivad põhjustada kuhjatud mälu üle kirjutamist ning juhuslike andmete lugemist mälust.
Mõlemad haavatavused tuvastati Git koodibaasi turbeauditi käigus, mille viis läbi X41 ettevõte OSTIF (Open Source Technology Improvement Fund) tellimusel, mille eesmärk on tugevdada avatud projektide turvalisust. Peale kahe allpool käsitletava kriitilise probleemi tuvastati auditi käigus ka üks ohtlik haavatavus, üks mõõduka ohu tasemega haavatavus ning neli mittetäiendavat probleemi. Samuti tehti 27 soovitust koodibaasi turvalisuse tõstmiseks.
- CVE-2022-41903: täisarvude ülevool commit’informatsiooni vormindamise koodis, mis tekib suurte nihke väärtuste töötlemisel täitevates operaatorites nagu «%<», «%», «%>>» ja «%><». Täisarvude ülevool tekib funktsioonis format_and_pad_commit() tüübiga int, mis osaleb memcpy() läbiviimisel nihke suuruse määramisel.
Haavatavus ilmneb nii otse kutse tegemise korral spetsiaalselt vormindatud parameetritega (nt käivitades «git log —format=…»), kui ka kaudselt, kui vormindamist rakendatakse «git archive» käsu läbiviimisel ründaja kontrolle all oleva hoidla puhul. Teises olukorras määratakse vormindusmodifikaatorid üle «.gitattributes» faili export-subst parameetri kaudu, mille ründaja võib oma hoidlas paigutada. Probleemi saab kasutada juhuslike alade lugemiseks ja kirjutamiseks kuhjas, mis võib võimaldada ründaja koodi täitmist, kui töötatakse kinnitamata hoidlate kallal.
- CVE-2022-23521: täisarvude ülevoolud nende töödeldud sisu «.gitattributes» failide puhul, mis avalduvad liigsete failiteemade mallide või ühte malli mitu atribuudide analüüsimisel, samuti väga suurte atribuudinimede töötlemisel. Probleemi saab kasutada juhuslike alade lugemiseks ja kirjutamiseks kuhjas, mis võib võimaldada ründaja koodi täitmist, kui töötatakse kinnitamata hoidlas, kus ründaja võib paigutada spetsiaalselt vormindatud «.gitattributes» faili. See võib tagada, et see satub indeksi.
Pakettide uuenduste avaldamist jaotustes saab jälgida lehtedelt: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD. Rünnaku riski vähendamiseks, kui uuendust ei ole võimalik viivitamatult installida, soovitatakse hoiduda ebaväärikate hoidlate kasutamisest ja «git archive» käsu kasutamisest. Oluline on meeles pidada, et käsku «git archive» võib käivitada kaudselt, näiteks git daemon kaudu. Selleks, et keelata «git archive» käivitamine git daemonis, tuleks muuta daemon.uploadArch parameetrit käsuga «git config —global daemon.uploadArch false».
Lisaks on võimalik märkida veel üks haavatavus (CVE-2022-41953) tootes Git for Windows, mis võimaldab ründajal koodi täitmist, kui tehakse aruande ülevaatus läbi graafilise liidese kontrollimata väliste hoidlate kloonimise korral. Probleem tekib seetõttu, et Git GUI Windowsis käivitab operatsiooni «checkout» järel automaatselt mõned postitöötluskomplektid, näiteks õigekirja kontrollimise programmi käivitamine, mille faili otsingu teed hõlmavad ka kloonitud tööpuud (rünnak seisneb spell-check genereerimises hoidlasse).
Allikas: opennet.ru
