Hajautetun lähteen ohjausjärjestelmän 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.62.24.1 korjaavat julkaisut XNUMX, joka korjasi haavoittuvuuksia, joiden ansiosta hyökkääjä pystyi kirjoittamaan uudelleen mielivaltaisia polkuja tiedostojärjestelmään, järjestää koodin etäsuorittamisen tai korvata tiedostoja ".git/"-hakemistossa. Suurin osa työntekijöiden havaitsemista ongelmista
Microsoft Security Response Centerissä viisi kahdeksasta haavoittuvuudesta on alustakohtaisia Windows.
- - suoratoistokomento "feature export-marks=path" kirjoittaa otsikoita mielivaltaisiin hakemistoihin, joita voidaan käyttää mielivaltaisten polkujen päällekirjoittamiseen tiedostojärjestelmässä suoritettaessa "git fast-import" -toimintoa tarkistamattomilla syöttötiedoilla.
- - komentoriviargumenttien virheellinen pakottaminen hyökkääjäkoodin etäsuorittamiseen rekursiivisen kloonauksen aikana käyttämällä ssh:// URL-osoitetta. Erityisesti kenoviivaan päättyviä pakottavia argumentteja (esimerkiksi "testi \") on käsitelty väärin. Tässä tapauksessa kehystettäessä argumenttia lainausmerkeillä viimeinen lainausmerkki poistettiin, mikä mahdollisti vaihtoehtojesi korvaamisen komentorivillä.
- — kun kloonataan rekursiivisesti alimoduuleja (“kloonaa —recurse-submodules”) ympäristössä Windows tietyissä olosuhteissa käynnistää saman git-hakemiston käytön kahdesti (.git, git~1, git~2 ja git~N tunnistetaan yhdeksi hakemistoksi NTFS:ssä, mutta tämä tilanne testattiin vain git~1:lle), jota voitaisiin käyttää järjestämiseen kirjoittaminen hakemistoon ". git". Järjestääkseen koodinsa suorittamisen hyökkääjä voi esimerkiksi korvata komentosarjansa .git/config-tiedoston post-checkout-käsittelijän kautta.
- — poluissa olevien asemakirjainten nimien käsittelijä Windows Polkuja, kuten "C:\", käännettäessä tarkoituksena oli korvata vain yksikirjaimiset latinalaiset tunnisteet, mutta siinä ei otettu huomioon mahdollisuutta luoda virtuaalilevyjä, jotka on määritetty "subst letter:path" -metodin kautta. Tällaisia polkuja ei käsitelty absoluuttisina, vaan suhteellisina poluina, mikä mahdollisti haitallisen arkiston kloonaamisen yhteydessä kirjoittamisen mielivaltaiseen hakemistoon työhakemistopuun ulkopuolella (esimerkiksi käytettäessä numeroita tai Unicode-merkkejä levyn nimessä - "1:\what\the\hex.txt" tai "ä:\tschibät.sch").
- - työskennellessä alustalla Windows käyttämällä vaihtoehtoisia tietovirtoja NTFS:ssä, jotka on luotu lisäämällä tiedostonimeen ":stream-name:stream-type" -lippu, Korvaa tiedostot ".git/"-hakemistossa kloonattaessa haitallista arkistoa. Esimerkiksi nimeä ".git::$INDEX_ALLOCATION" NTFS:ssä käsiteltiin kelvollisena linkkinä ".git"-hakemistoon.
- — käytettäessä Gitiä WSL-ympäristössä (Windows Alijärjestelmä Linux) työhakemistoa käytettäessä Suojaus nimimanipulaatiota vastaan NTFS:ssä (FAT-nimen käännöksen kautta tapahtuvat hyökkäykset olivat mahdollisia, esimerkiksi ".git" voitiin käyttää "git~1"-hakemiston kautta).
- -
merkinnät alustan ".git/"-hakemistossa Windows kloonattaessa haitallisia arkistoja, jotka sisältävät tiedostoja, joiden nimessä on kenoviiva (esim. "a\b"), mikä on sallittu Unix/Linux, mutta sitä pidetään osana polkua Windows. - — Alimoduulien nimien riittämätöntä tarkistusta voitaisiin käyttää kohdistettujen hyökkäysten järjestämiseen, jotka voisivat mahdollisesti kloonata rekursiivisesti. suorittaakseen hyökkääjän koodin. Git ei estänyt alimoduulihakemiston luomista toisen alimoduulin hakemistoon, mikä useimmiten johtaisi vain sekaannukseen, mutta ei mahdollisesti estänyt toisen moduulin sisällön päällekirjoittamista rekursiivisen kloonauksen aikana (esimerkiksi alimoduulihakemistot "hippo" ja "hippo/hooks" sijoitetaan muotoihin ".git/modules/hippo/" ja ".git/modules/hippo/hooks/", ja hippon koukkuhakemistoa voidaan käyttää erikseen laukaistujen koukkujen isännöimiseen.
Käyttäjille Windows On suositeltavaa päivittää Git-versiosi kiireellisesti ja pidättäytyä kloonaamasta epäluotettavia repositorioita, kunnes päivitys on valmis. Jos kiireellistä Git-päivitystä ei ole vielä saatavilla, hyökkäysriskin vähentämiseksi on suositeltavaa olla suorittamatta "git clone --recurse-submodules"- ja "git submodule update" -komentoja epäluotettavien repositorioiden kanssa, olla käyttämättä "git fast-import" -komentoa epäluotettavien syöttövirtojen kanssa ja olla kloonaamatta repositorioita NTFS-pohjaisiin osioihin.
Turvallisuuden lisäämiseksi uudet julkaisut kieltävät myös muodon "submodule.{name}.update=!command" käytön .gitmodulesissa. Jakeluissa voit seurata pakettipäivitysten julkaisua sivuilla ,, , , , , , .
Lähde: opennet.ru
