Git atjauninājums ar 8 izlabotām ievainojamībām

Publicēts Izkliedētā avota vadības sistēmas 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 un 2.14.62.24.1 koriģējošie laidieni XNUMX, kas noteica ievainojamības, kas ļāva uzbrucējam pārrakstīt patvaļīgus ceļus failu sistēmā, organizēt attālo koda izpildi vai pārrakstīt failus direktorijā “.git/”. Lielākā daļa darbinieku identificēto problēmu
Microsoft Security Response Center, piecas no astoņām ievainojamībām ir raksturīgas Windows platformai.

  • CVE-2019-1348 — straumēšanas komanda “feature export-marks=path”pieļauj rakstīt etiķetes patvaļīgos direktorijos, ko var izmantot, lai pārrakstītu patvaļīgus ceļus failu sistēmā, veicot "git fast-import" operāciju ar nepārbaudītiem ievades datiem.
  • CVE-2019-1350 - nepareiza aizbēgšana no komandrindas argumentiem varētu vadīt uzbrucēja koda attālai izpildei rekursīvās klonēšanas laikā, izmantojot ssh:// URL. Jo īpaši tika nepareizi apstrādāti atkāpšanās argumenti, kas beidzas ar slīpsvītru (piemēram, “test \”). Šajā gadījumā, ierāmējot argumentu ar dubultpēdiņām, pēdējā pēdiņa tika izlaista, kas ļāva organizēt opciju aizstāšanu komandrindā.
  • CVE-2019-1349 — rekursīvi klonējot apakšmoduļus (“clone —recurse-submodules”) Windows vidē noteiktos apstākļos tas varētu būt divreiz aktivizēt viena un tā paša git direktorija izmantošanu (.git, git~1, git~2 un git~N tiek atpazīti kā viens direktorijs NTFS, taču šī situācija tika pārbaudīta tikai git~1), ko varētu izmantot, lai organizētu. rakstot uz direktoriju ". git". Lai organizētu sava koda izpildi, uzbrucējs, piemēram, var aizstāt savu skriptu, izmantojot .git/config failā esošo apdarinātāju pēc izrakstīšanās.
  • CVE-2019-1351 — burtu disku nosaukumu apstrādātājs Windows ceļos, tulkojot ceļus, piemēram, “C:\”, bija paredzēts tikai viena burta latīņu identifikatoru aizstāšanai, taču tajā netika ņemta vērā iespēja izveidot virtuālos diskus, kas piešķirti, izmantojot “apakšburts:path”. . Šādi ceļi tika uzskatīti nevis par absolūtiem, bet gan kā relatīviem ceļiem, kas ļāva, klonējot ļaunprātīgu repozitoriju, organizēt ierakstu patvaļīgā direktorijā ārpus darba direktoriju koka (piemēram, diskā izmantojot ciparus vai unikoda rakstzīmes nosaukums — "1:\what\the\ hex.txt" vai "ä:\tschibät.sch").
  • CVE-2019-1352 — strādājot ar Windows platformu, alternatīvu datu straumju izmantošana NTFS sistēmā, kas izveidota, faila nosaukumam pievienojot atribūtu “:stream-name:stream-type”, atļauts pārrakstīt failus direktorijā ".git/", klonējot ļaunprātīgu repozitoriju. Piemēram, nosaukums ".git::$INDEX_ALLOCATION" NTFS sistēmā tika uzskatīts par derīgu saiti uz direktoriju ".git".
  • CVE-2019-1353 — izmantojot Git WSL (Windows apakšsistēmas Linux) vidē, piekļūstot darba direktorijam nav izmantots aizsardzība pret manipulācijām ar nosaukumu NTFS (bija iespējami uzbrukumi, izmantojot FAT nosaukuma tulkošanu, piemēram, “.git” varēja piekļūt, izmantojot direktoriju “git~1”).
  • CVE-2019-1354 Sākot no
    iespēja raksta uz Windows platformas direktoriju ".git/", kad tiek klonētas ļaunprātīgas krātuves, kuru nosaukumā ir atpakaļ slīpsvītra (piemēram, "a\b"), kas ir pieņemams operētājsistēmā Unix/Linux, bet tiek pieņemts kā daļa no ceļš operētājsistēmā Windows.

  • CVE-2019-1387 — nepietiekamu apakšmoduļu nosaukumu pārbaudi varētu izmantot, lai organizētu mērķtiecīgus uzbrukumus, kuri, rekursīvi klonējot, potenciāli varētu varētu vadīt lai izpildītu uzbrucēja kodu. Git neliedza izveidot apakšmoduļa direktoriju cita apakšmoduļa direktorijā, kas vairumā gadījumu tikai radītu neskaidrības, bet potenciāli neliedza cita moduļa satura pārrakstīšanu rekursīvās klonēšanas procesa laikā (piemēram, apakšmoduļu direktorijus). "Hippo" un "hippo/hooks" tiek ievietoti kā ".git/modules/hippo/" un ".git/modules/hippo/hooks/", un hooku direktoriju nīlzirgā var izmantot atsevišķi, lai mitinātu aktivizētos āķus.

Windows lietotājiem tiek ieteikts nekavējoties atjaunināt savu Git versiju un līdz atjaunināšanai atturēties no nepārbaudītu repozitoriju klonēšanas. Ja vēl nav iespējams steidzami atjaunināt Git versiju, tad, lai samazinātu uzbrukuma risku, ieteicams nedarbināt “git clone —recurse-submodules” un “git submodule update” ar nepārbaudītiem repozitorijiem, neizmantot “git ātrais imports” ar nepārbaudītām ievades straumēm, nevis klonēt repozitorijus uz NTFS bāzēm.

Papildu drošības nolūkos jaunie laidieni arī aizliedz .gitmodules izmantot konstrukcijas formā "apakšmodule.{name}.update=!command". Attiecībā uz izplatīšanu lapās varat izsekot pakotņu atjauninājumu izlaišanai Debian,Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arka, ALT, FreeBSD.

Avots: opennet.ru

Pievieno komentāru