Git-oppdatering med 8 sårbarheter fikset

Publisert korrigerende utgivelser av det distribuerte kildekontrollsystemet 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 og 2.14.62.24.1 XNUMX, som fikset sårbarheter som tillot en angriper å omskrive vilkårlige stier i filsystemet, organisere ekstern kjøring av kode eller overskrive filer i ".git/"-katalogen. De fleste problemene identifisert av ansatte
Microsoft Security Response Center, fem av de åtte sårbarhetene er spesifikke for Windows-plattformen.

  • CVE-2019-1348 - strømmekommando "feature export-marks=path"den lar skriv etiketter til vilkårlige kataloger, som kan brukes til å overskrive vilkårlige stier i filsystemet når du utfører en "git fast-import" operasjon med ukontrollerte inngangsdata.
  • CVE-2019-1350 - Feil escape av kommandolinjeargumenter kan lede til ekstern kjøring av angriperkode under rekursiv kloning ved å bruke ssh:// URL. Spesielt ble escape-argumenter som ender med en omvendt skråstrek (for eksempel "test \") håndtert feil. I dette tilfellet, når du setter inn et argument med doble anførselstegn, ble det siste sitatet unnlatt, noe som gjorde det mulig å organisere erstatningen av alternativene dine på kommandolinjen.
  • CVE-2019-1349 - ved rekursiv kloning av undermoduler ("klone -rekurs-undermoduler") i Windows-miljøet under visse forhold det kan være utløs bruken av samme git-katalog to ganger (.git, git~1, git~2 og git~N gjenkjennes som én katalog i NTFS, men denne situasjonen ble bare testet for git~1), som kan brukes til å organisere skriver til katalogen ". git". For å organisere kjøringen av koden sin, kan en angriper for eksempel erstatte skriptet sitt gjennom post-checkout-behandleren i .git/config-filen.
  • CVE-2019-1351 — behandleren for bokstavstasjonsnavn i Windows-baner ved oversettelse av baner som "C:\" ble kun utformet for å erstatte latinske identifikatorer med én bokstav, men tok ikke hensyn til muligheten for å lage virtuelle stasjoner tildelt via "subst letter:path" . Slike stier ble ikke behandlet som absolutte, men som relative baner, noe som gjorde det mulig, når et skadelig arkiv ble klonet, å organisere en post i en vilkårlig katalog utenfor arbeidskatalogtreet (for eksempel ved bruk av tall eller unicode-tegn på disken navn - "1:\what\the\ hex.txt" eller "ä:\tschibät.sch").
  • CVE-2019-1352 - når du arbeider på Windows-plattformen, bruk av alternative datastrømmer i NTFS, opprettet ved å legge til ":stream-name:stream-type"-attributtet til filnavnet, tillatt overskriv filer i ".git/"-katalogen når du kloner et skadelig depot. For eksempel ble navnet ".git::$INDEX_ALLOCATION" i NTFS behandlet som en gyldig kobling til ".git"-katalogen.
  • CVE-2019-1353 — når du bruker Git i et WSL-miljø (Windows Subsystem for Linux) når du får tilgang til arbeidskatalogen ikke brukt beskyttelse mot navnemanipulering i NTFS (angrep gjennom FAT-navneoversettelse var mulig, for eksempel kunne ".git" nås gjennom "git~1"-katalogen).
  • CVE-2019-1354 -
    mulighet skriver til ".git/"-katalogen på Windows-plattformen ved kloning av ondsinnede depoter som inneholder filer med en omvendt skråstrek i navnet (for eksempel "a\b"), som er akseptabelt på Unix/Linux, men aksepteres som en del av banen på Windows.

  • CVE-2019-1387 – utilstrekkelig kontroll av undermodulnavn kan brukes til å organisere målrettede angrep, som, hvis rekursivt klonet, potensielt kan kan lede for å utføre angriperens kode. Git forhindret ikke opprettelsen av en undermodulkatalog i en annen undermoduls katalog, noe som i de fleste tilfeller bare ville føre til forvirring, men forhindret ikke potensielt at innholdet i en annen modul ble overskrevet under den rekursive kloningsprosessen (for eksempel undermodulkatalogene "hippo" og "hippo/hooks" er plassert som ".git/modules/hippo/" og ".git/modules/hippo/hooks/", og hooks-katalogen i hippo kan brukes separat for å være vert for triggede hooks.

Windows-brukere anbefales umiddelbart å oppdatere sin versjon av Git, og å avstå fra å klone ubekreftede depoter frem til oppdateringen. Hvis det ennå ikke er mulig å raskt oppdatere Git-versjonen, så for å redusere risikoen for angrep, anbefales det ikke å kjøre "git clone —recurse-submodules" og "git submodule update" med ukontrollerte repositories, ikke å bruke "git fast-import" med ukontrollerte inngangsstrømmer, og ikke for å klone depoter til NTFS-baserte partisjoner.

For ekstra sikkerhet forbyr nye utgivelser også bruk av konstruksjoner av formen "submodule.{name}.update=!command" i .gitmodules. For distribusjoner kan du spore utgivelsen av pakkeoppdateringer på sidene Debian,Ubuntu, RHEL, SUSE / openSUSE, Fedora, Arch, ALT, FreeBSD.

Kilde: opennet.ru

Legg til en kommentar