Përditësimi i Git me 8 dobësi të rregulluara

Publikuar lëshimet korrigjuese të sistemit të kontrollit të burimit të shpërndarë 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 dhe 2.14.62.24.1. XNUMX, i cili rregulloi dobësitë që lejonin një sulmues të rishkruajë shtigje arbitrare në sistemin e skedarëve, të organizojë ekzekutimin e kodit në distancë ose të mbishkruaj skedarët në drejtorinë ".git/". Shumica e problemeve të identifikuara nga punonjësit
Microsoft Security Response Center, pesë nga tetë dobësitë janë specifike për platformën Windows.

  • CVE-2019-1348 — komanda e transmetimit "feature export-marks=path"Kjo i lejon shkruani etiketa në drejtoritë arbitrare, të cilat mund të përdoren për të mbishkruar shtigje arbitrare në sistemin e skedarëve kur kryeni një operacion "git fast-import" me të dhëna hyrëse të pakontrolluara.
  • CVE-2019-1350 - ikje e gabuar e argumenteve të linjës së komandës mund të çojë për ekzekutimin në distancë të kodit të sulmuesit gjatë klonimit rekurziv duke përdorur URL-në ssh://. Në veçanti, ikja nga argumentet që përfundojnë me një vijë të kundërt (për shembull, "test \") u trajtua gabimisht. Në këtë rast, kur kornizoni një argument me thonjëza të dyfishta, citati i fundit u arratis, gjë që bëri të mundur organizimin e zëvendësimit të opsioneve tuaja në vijën e komandës.
  • CVE-2019-1349 - kur klononi në mënyrë rekursive nënmodule ("klon - recurse-submodules") në mjedisin Windows në kushte të caktuara mund te jete aktivizoni përdorimin e së njëjtës drejtori git dy herë (.git, git~1, git~2 dhe git~N njihen si një direktori në NTFS, por kjo situatë u testua vetëm për git~1), e cila mund të përdoret për të organizuar duke shkruar në drejtorinë ". git". Për të organizuar ekzekutimin e kodit të tij, një sulmues, për shembull, mund të zëvendësojë skriptin e tij nëpërmjet mbajtësit të post-checkout në skedarin .git/config.
  • CVE-2019-1351 — mbajtësi për emrat e disqeve të shkronjave në shtigjet e Windows gjatë përkthimit të shtigjeve si "C:\" ishte krijuar vetëm për të zëvendësuar identifikuesit latinë me një shkronjë, por nuk mori parasysh mundësinë e krijimit të disqeve virtuale të caktuara nëpërmjet "subst letter: path" . Shtigje të tilla u trajtuan jo si shtigje absolute, por si relative, të cilat bënë të mundur, kur klononi një depo me qëllim të keq, organizimin e një regjistrimi në një drejtori arbitrare jashtë pemës së drejtorisë së punës (për shembull, kur përdorni numra ose karaktere unicode në disk emri - "1:\what\the\ hex.txt" ose "ä:\tschibät.sch").
  • CVE-2019-1352 — kur punoni në platformën Windows, përdorimi i rrymave alternative të të dhënave në NTFS, të krijuara duke shtuar atributin “:stream-name:stream-type” në emrin e skedarit, lejohet mbishkruani skedarët në drejtorinë ".git/" kur klononi një depo me qëllim të keq. Për shembull, emri ".git::$INDEX_ALLOCATION" në NTFS u trajtua si një lidhje e vlefshme për direktorinë ".git".
  • CVE-2019-1353 — kur përdorni Git në një mjedis WSL (Windows Subsystem for Linux) kur hyni në drejtorinë e punës nuk përdoret mbrojtje kundër manipulimit të emrit në NTFS (sulmet përmes përkthimit të emrit FAT ishin të mundshme, për shembull, ".git" mund të aksesohej përmes drejtorisë "git~1").
  • CVE-2019-1354 -
    mundësi shkruan në drejtorinë ".git/" në platformën Windows kur klononi depo me qëllim të keq që përmbajnë skedarë me një vijë të prapme në emër (për shembull, "a\b"), i cili është i pranueshëm në Unix/Linux, por pranohet si pjesë e rrugën në Windows.

  • CVE-2019-1387 — kontrolli i pamjaftueshëm i emrave të nënmoduleve mund të përdoret për të organizuar sulme të synuara, të cilat, nëse klonohen në mënyrë rekursive, mund të jenë potencialisht mund të çojë për të ekzekutuar kodin e sulmuesit. Git nuk parandaloi krijimin e një drejtorie nënmoduli brenda drejtorisë së një nënmoduli tjetër, gjë që në shumicën e rasteve do të çonte vetëm në konfuzion, por nuk parandaloi potencialisht që përmbajtja e një moduli tjetër të mbishkruhej gjatë procesit të klonimit rekurziv (për shembull, drejtoritë e nënmoduleve "hippo" dhe "hippo/hooks" vendosen si " .git/modules/hippo/" dhe ".git/modules/hippo/hooks/", dhe drejtoria e grepave në hipopotam mund të përdoret veçmas për të pritur grepa të ndezur.

Përdoruesit e Windows këshillohen që të përditësojnë menjëherë versionin e tyre të Git dhe të përmbahen nga klonimi i depove të paverifikuara deri në përditësimin. Nëse nuk është ende e mundur të përditësohet urgjentisht versioni Git, atëherë për të zvogëluar rrezikun e sulmit, rekomandohet të mos ekzekutoni "git clone — recurse-submodules" dhe "git submodule update" me depo të pakontrolluara, të mos përdorni "git fast-import” me prurje hyrëse të pakontrolluara dhe jo për të klonuar depot në ndarjet e bazuara në NTFS.

Për siguri të shtuar, publikimet e reja ndalojnë gjithashtu përdorimin e konstrukteve të formës "submodule.{name}.update=!command" në .gitmodules. Për shpërndarjet, mund të gjurmoni lëshimin e përditësimeve të paketave në faqe Debian,Ubuntu, RHEL, SUSE/openSUSE, Fedora, Hark, ALT, FreeBSD.

Burimi: opennet.ru

Shto një koment