To sårbarheder i Git, der kan føre til fjernudførelse af kode.

Der er udgivet korrigerende versioner af det distribuerede system til kildekodekontrol, Git 2.39.1, 2.38.3, 2.37.5, 2.36.4, 2.35.6, 2.34.6, 2.33.6, 2.32.5, 2.31.6 og 2.30.7, hvor to sårbarheder er blevet rettet, som muliggør udførelse af ondsindet kode på brugerens system ved brug af kommandoen „git archive“ og arbejde med usikre eksterne repositories. Sårbarhederne skyldes fejl i formatkode for commits og parsing af filen „.gitattributes“, som i behandlingen af eksterne repositories kan føre til skrivning uden for hukommelsesområdet og læsning af vilkårlige data fra hukommelsen.

Begge sårbarheder blev identificeret under en sikkerhedsaudit af Git's kodebase, udført af firmaet X41 på opdrag fra OSTIF (Open Source Technology Improvement Fund), der blev oprettet for at forbedre sikkerheden i åbne projekter. Udover de to kritiske problemer, der diskuteres nedenfor, blev der også fundet en farlig sårbarhed, en sårbarhed af mellem risiko og fire usikre problemer. Der blev desuden givet 27 anbefalinger til forbedring af sikkerheden i kodebasen.

  • CVE-2022-41903: heltals overflow i formatkoden for commitoplysninger, der opstår ved behandling af store offset-værdier i fyldningsoperatorer som „%<(“, „%(“, „%>>(“ og „%><( )“. Heltals overflow opstår i funktionen format_and_pad_commit() på grund af brugen af typen int for variablen size_t, som i kaldet til memcpy() er involveret i bestemmelsen af størrelsen af det kopierede blok offset.

    Sårbarheden manifesterer sig både ved direkte kald med specielt udformede formatparametre (f.eks. når man kører „git log —format=…“), samt ved indirekte anvendelse af formatering under udførelsen af kommandoen „git archive“ i et repository under angriberens kontrol. I det andet tilfælde angives formatmodifikatorerne gennem parameteren export-subst i filen „.gitattributes“, som kan placeres af angriberen i deres repository. Problemet kan udnyttes til at læse og skrive i vilkårlige hukommelsesområder og føre til udførelse af ondsindet kode, når der arbejdes med usikrede repositories.

  • CVE-2022-23521: heltalsoverløb ved fortolkning af indholdet af «.gitattributes»-filer i et repository, som viser sig, når der behandles et meget stort antal filstier eller et stort antal attributter med én skabelon, samt ved fortolkning af meget store attributnavne. Problemet kan bruges til at læse og skrive vilkårlige områder i hukommelsen og føre til udførelse af ondsindet kode, når der arbejdes med et ikke-bekræftet repository, hvor en angriber kan placere en specielt udformet .gitattributes-fil og sikre, at den kommer i indekset.

Udgivelsen af opdateringer til pakker i distributioner kan følges på siderne: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD. For at reducere risikoen for angreb ved manglende muligheder for at installere opdateringer rettidigt, anbefales det at afholde sig fra at arbejde med utroværdige repositories og fra at bruge kommandoen «git archive». Det er vigtigt at huske, at kommandoen «git archive» kan køres implicit, for eksempel fra git daemon. For at deaktivere kørsel af «git archive» i git daemon skal parameteren daemon.uploadArch ændres med kommandoen «git config —global daemon.uploadArch false».

Der kan også nævnes en anden sårbarhed (CVE-2022-41953) i produktet Git for Windows, der muliggør udførelse af kode ved kloning via grafisk grænseflade af ukontrollerede eksterne repositories. Problemet skyldes, at Git GUI til Windows efter «checkout»-operationen automatisk kører nogle post-behandlingskommander, såsom udførelse af spell-check-programmet til stavekontrol, samtidig med at filstien til spell-check dækker det klonede arbejdsområde (angrebet går ud på at tilføje spell-check til arbejdsområdet for repositoryet).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster