Aktualizace Git s odstraněním 8 zranitelností

Byly zveřejněny Opravy distribuovaného systému správy verzí 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 a 2.14.6, ve kterých byly odstraněny zranitelnosti umožňující útočníkovi přepsat libovolné cesty v souborovém systému, provést vzdálené spuštění kódu nebo přepsat soubory v adresáři „.git/“. Většina problémů byla identifikována zaměstnanci Microsoft Security Response Center.
Pět z osmi zranitelností je specifických pro platformu Windows.

  • CVE-2019-1348 — příkazový proud „feature export-marks=path“umožňuje napsat značky do libovolných adresářů, což může být využito k přepsání libovolných cest v FS při provádění operace „git fast-import“ s neověřenými vstupy.
  • CVE-2019-1350 — nesprávné escapování argumentů příkazového řádku mohlo vést k vzdálenému spuštění kódu útočníka při rekurzivním klonování pomocí URL ssh://. Konkrétně bylo nesprávně zpracováváno escapování argumentů končících zpětným lomítkem (například „test \“). V tomto případě, při obklopení argumentu dvojitými uvozovkami, poslední uvozovka byla escapována, což umožnilo podsunout vlastní volby do příkazového řádku.
  • CVE-2019-1349 — při rekurzivním klonování submodulů („clone —recurse-submodules“) v prostředí Windows za určitých podmínek bylo možné inicializovat použití jednoho git adresáře dvakrát (.git, git~1, git~2 a git~N jsou na NTFS rozpoznávány jako jeden adresář, ale tato situace byla kontrolována pouze pro git~1), což mohlo být využito k zapsání do adresáře „.git“. Aby útočník mohl spustit svůj kód, mohl například přiřadit svůj skript přes post-checkout handler do souboru .git/config.
  • CVE-2019-1351 — zpracování písmen názvů disků v cestách Windows při převodu cest typu „C:\
  • bylo navrženo pouze pro nahrazení jednopísmenových latinských identifikátorů, ale nezohlednilo možnost vytvoření virtuálních disků přiřazených pomocí „subst písmeno:cesta“. Tyto cesty byly zpracovávány ne jako absolutní, ale jako relativní cesty, což umožnilo při klonování škodlivého repozitáře zapisovat do libovolného adresáře mimo pracovní strom adresářů (například při použití čísel nebo unicode znaků v názvu disku — „1:\what\the\hex.txt“ nebo „ä:\tschibät.sch“). — při práci na platformě Windows umožňovalo použití alternativních datových toků v NTFS, vytvářených přidáním atributu „:stream-name:stream-type“ k názvu souboru, umožnilo přepsat soubory v adresáři „.git/“ při klonování škodlivého repozitáře. Například název „.git::$INDEX_ALLOCATION“ v NTFS byl zpracován jako platný odkaz na adresář „.git“.
  • CVE-2019-1353 — při používání Gitu v prostředí WSL (Windows Subsystem for Linux) při přístupu k pracovnímu adresáři nebyla použita ochrana proti manipulaci s názvy v NTFS (byly možné útoky prostřednictvím translace jmen FAT, například k „.git“ bylo možné přistupovat přes adresář „git~1“).
  • CVE-2019-1354 —
    možnost zápisy do adresáře „.git/“ na platformě Windows při klonování škodlivých repozitářů obsahujících soubory s obráceným lomítkem v názvu (například „a\b“), které je přípustné v Unix/Linux, ale je vnímáno jako část cesty ve Windows.
  • CVE-2019-1387 — nedostatečná kontrola názvů submodulů mohla být použita k organizaci cílených útoků, které při rekurzivním klonování potenciálně mohly vést k provedení kódu útočníka. Git nepovoloval vytváření adresáře submodulu v adresáři jiného submodulu, což ve většině případů může vést jen k zmatku, ale potenciálně nevylučuje přepsání obsahu jiného modulu během rekurzivního klonování (například adresáře submodulů „hippo“ a „hippo/hooks“ jsou umístěny jako „.git/modules/hippo/“ a „.git/modules/hippo/hooks/“, a adresář hooks v hippo může být samostatně použit pro umístění spustitelných zpracovatelů.

Uživatelům Windows se doporučuje naléhavě aktualizovat verzi Gitu, a do aktualizace se zdržet klonování neověřených repozitářů. Pokud není možné naléhavě aktualizovat verzi Gitu, doporučuje se pro snížení rizika útoku nespouštět „git clone —recurse-submodules“ a „git submodule update“ s neověřenými repozitáři, nepoužívat „git fast-import“ s neověřenými vstupními proudy a neklonovat repozitáře do oddílů na bázi NTFS.

Pro dodatečnou ochranu byly v nových verzích také zakázány konstrukce v .gitmodules ve formě „submodule.{name}.update=!command“. Pro distribuce lze sledovat vydání aktualizací balíčků na stránkách Debian,Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, ALT, FreeBSD.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster