Posodobitev Git z odpravljenimi 8 ranljivostmi

Objavljeno popravne izdaje sistema za nadzor porazdeljenega vira 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 in 2.14.62.24.1 XNUMX, ki je odpravil ranljivosti, ki so napadalcu omogočile, da prepiše poljubne poti v datotečnem sistemu, organizira oddaljeno izvajanje kode ali prepiše datoteke v imeniku ».git/«. Največ težav, ki so jih ugotovili zaposleni
Microsoft Security Response Center je pet od osmih ranljivosti specifičnih za platformo Windows.

  • CVE-2019-1348 — pretočni ukaz “feature export-marks=path”omogoča pisanje nalepk v poljubne imenike, ki jih je mogoče uporabiti za prepisovanje poljubnih poti v datotečnem sistemu pri izvajanju operacije "git fast-import" z nepreverjenimi vhodnimi podatki.
  • CVE-2019-1350 - nepravilno ubežanje argumentov ukazne vrstice bi lahko vodilo za oddaljeno izvajanje kode napadalca med rekurzivnim kloniranjem z uporabo URL-ja ssh://. Zlasti ubežni argumenti, ki se končajo s poševnico nazaj (na primer »test \«), so bili nepravilno obravnavani. V tem primeru je bil pri oblikovanju argumenta z dvojnimi narekovaji zadnji narekovaj ubežal, kar je omogočilo organizacijo zamenjave vaših možnosti v ukazni vrstici.
  • CVE-2019-1349 — pri rekurzivnem kloniranju podmodulov (»clone —recurse-submodules«) v okolju Windows pod določenimi pogoji lahko bi bilo dvakrat sproži uporabo istega imenika git (.git, git~1, git~2 in git~N so prepoznani kot en imenik v NTFS, vendar je bila ta situacija preizkušena samo za git~1), ki bi ga lahko uporabili za organiziranje pisanje v imenik ". git". Za organizacijo izvajanja svoje kode lahko napadalec, na primer, zamenja svoj skript prek obdelovalnika po prevzemu v datoteki .git/config.
  • CVE-2019-1351 — upravljalnik za črkovna imena pogonov v poteh sistema Windows pri prevajanju poti, kot je »C:\«, je bil zasnovan samo za zamenjavo enočrkovnih latiničnih identifikatorjev, vendar ni upošteval možnosti ustvarjanja virtualnih pogonov, dodeljenih prek »subst letter:path« . Takšne poti niso bile obravnavane kot absolutne, ampak kot relativne poti, kar je omogočilo, da se pri kloniranju zlonamernega repozitorija organizira zapis v poljubnem imeniku zunaj drevesa delovnih imenikov (na primer pri uporabi številk ali znakov unicode na disku ime - “1:\kaj\the\ hex.txt" ali "ä:\tschibät.sch").
  • CVE-2019-1352 — pri delu na platformi Windows uporaba alternativnih podatkovnih tokov v NTFS, ustvarjenih z dodajanjem atributa »:stream-name:stream-type« imenu datoteke, dovoljeno prepisati datoteke v imeniku ".git/" pri kloniranju zlonamernega repozitorija. Na primer, ime ".git::$INDEX_ALLOCATION" v NTFS je bilo obravnavano kot veljavna povezava do imenika ".git".
  • CVE-2019-1353 — pri uporabi Git v okolju WSL (Windows Subsystem for Linux) pri dostopu do delovnega imenika se ne uporablja zaščita pred manipulacijo imen v NTFS (možni so bili napadi s prevodom imen FAT, na primer do ».git« je bilo mogoče dostopati prek imenika »git~1«).
  • CVE-2019-1354 -
    priložnost piše v imenik ".git/" na platformi Windows pri kloniranju zlonamernih skladišč, ki vsebujejo datoteke s poševnico nazaj v imenu (na primer "a\b"), kar je sprejemljivo v sistemu Unix/Linux, vendar je sprejeto kot del pot v sistemu Windows.

  • CVE-2019-1387 — nezadostno preverjanje imen podmodulov bi se lahko uporabilo za organizacijo ciljanih napadov, ki bi lahko, če bi bili rekurzivno klonirani, bi lahko vodilo za izvedbo napadalčeve kode. Git ni preprečil ustvarjanja imenika podmodula znotraj imenika drugega podmodula, kar bi v večini primerov povzročilo samo zmedo, ni pa potencialno preprečil prepisa vsebine drugega modula med postopkom rekurzivnega kloniranja (na primer imeniki podmodula »hippo« in »hippo/hooks« sta postavljena kot » .git/modules/hippo/« in ».git/modules/hippo/hooks/«, imenik hooks v hippo pa je mogoče ločeno uporabiti za gostovanje sproženih kavljev.

Uporabnikom operacijskega sistema Windows svetujemo, naj nemudoma posodobijo svojo različico Gita in naj se do posodobitve vzdržijo kloniranja nepreverjenih skladišč. Če različice Git še ni mogoče nujno posodobiti, je za zmanjšanje tveganja napada priporočljivo, da ne izvajate »git clone —recurse-submodules« in »git submodule update« z nepreverjenimi repozitoriji, da ne uporabljate »git hitri uvoz« z nepreverjenimi vhodnimi tokovi in ​​ne za kloniranje repozitorijev v particije, ki temeljijo na NTFS.

Za dodatno varnost nove izdaje prav tako prepovedujejo uporabo konstruktov v obliki "submodule.{name}.update=!command" v .gitmodules. Za distribucije lahko spremljate izdajo posodobitev paketov na straneh Debian,Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, ALT, FreeBSD.

Vir: opennet.ru

Dodaj komentar