Korrigerande versioner av det distribuerade versionshanteringssystemet 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 och 2.30.7 har publicerats, dÀr tvÄ sÄrbarheter har ÄtgÀrdats som kan möjliggöra körning av egen kod pÄ anvÀndarsystemet vid anvÀndning av kommandot "git archive" och vid arbete med osÀkra externa repositorier. SÄrbarheterna orsakas av fel i formateringen av commit-meddelanden och parsningen av filen ".gitattributes", vilket vid hantering av externa repositorier kan leda till skrivning utanför heap-omrÄdet och lÀsning av godtyckliga data frÄn minnet.
BÄda sÄrbarheterna upptÀcktes under en sÀkerhetsgranskning av Git-kodbasen som utfördes av företaget X41 pÄ uppdrag av OSTIF (Open Source Technology Improvement Fund), som skapades för att öka sÀkerheten för öppna projekt. Förutom de tvÄ kritiska problemen som diskuteras nedan, hittades under granskningen Àven en farlig sÄrbarhet, en mÄttlig sÄrbarhet och fyra icke-farliga problem. Det lÀmnades ocksÄ 27 rekommendationer för att öka sÀkerheten i kodbasen.
- CVE-2022-41903: heltal överflöde i koden för formatering av commit-information, som uppstÄr vid hantering av stora offset-vÀrden i fyllnadsoperatorer som "%<(", "%(", "%>>(" och "%><(". Heltal överflöde uppstÄr i funktionen format_and_pad_commit() pÄ grund av anvÀndning av typen int för variabeln size_t, som deltar i bestÀmningen av storleken pÄ det kopierade blocket vid anrop av memcpy().
SĂ„rbarheten kan manifesteras bĂ„de vid direkt anrop med sĂ€rskilt formaterade parametrar (till exempel vid körning av "git log âformat=..."), och vid indirekt tillĂ€mpning av formateringen under körningen av kommandot "git archive" i ett repository som kontrolleras av angriparen. I det andra fallet anges formateringsmodifikatorer genom parametern export-subst i filen ".gitattributes", som kan placeras av angriparen i sitt eget repository. Problemet kan anvĂ€ndas för att lĂ€sa och skriva till godtyckliga omrĂ„den i heapen och leda till körning av angriparens kod vid arbete med osĂ€kra repositorier.
- CVE-2022-23521: heltalsöverflöden vid analys av innehÄllet i filer med " .gitattributes" i ett repository, som uppstÄr vid hantering av ett mycket stort antal filvÀgsmallar eller ett stort antal attribut med en mall, samt vid analys av mycket stora attributnamn. Problemet kan anvÀndas för att lÀsa och skriva till godtyckliga omrÄden i heapen och leda till körning av skadlig kod nÀr man arbetar med ett otestat repository dÀr en angripare kan placera en sÀrskilt utformad .gitattributes-fil och se till att den indexeras.
Publiceringen av paketuppdateringar i distributioner kan spÄras pÄ sidorna: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD. För att minska risken för en attack vid oförmÄga att installera uppdateringen i tid rekommenderas det att avstÄ frÄn att arbeta med otillförlitliga repositories och att anvÀnda kommandot "git archive". Det Àr viktigt att komma ihÄg att kommandot "git archive" kan köras implicit, exempelvis frÄn git daemon. För att stÀnga av körningen av "git archive" i git daemon bör parameter daemon.uploadArch Àndras med kommandot "git config --global daemon.uploadArch false".
Dessutom kan en annan sÄrbarhet (CVE-2022-41953) i produkten Git for Windows nÀmnas, vilket möjliggör körning av kod vid kloning genom grafiskt grÀnssnitt frÄn otillförlitliga externa repositories. Problemet orsakas av att Git GUI för Windows automatiskt kör vissa efterbehandlingskommandon, sÄsom att köra programmet spell-check för att kontrollera stavning efter "checkout"-operationen, dÀr sökvÀgarna för spell-check-filen omfattar den klonade arbetskatalogen (attacken bestÄr av att lÀgga till spell-check i arbetskatalogen för repositoryt).
KĂ€lla: opennet.ru
