Sårbarheder i Git, der giver dig mulighed for at overskrive filer eller udføre din egen kode

Korrigerende udgivelser af distribueret kildekontrolsystem Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 og 2.30.9 blevet offentliggjort .XNUMX, som fiksede fem sårbarheder. Du kan følge udgivelsen af ​​pakkeopdateringer i distributioner på Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD-siderne. Som en løsning for at beskytte mod sårbarheder, anbefales det at undgå at køre kommandoen "git apply --reject", når du arbejder med utestede eksterne patches, og kontrollere indholdet af $GIT_DIR/config før du kører "git undermodul deinit", "git config --rename-section" og "git config --remove-section" når det drejer sig om upålidelige lagre.

Sårbarhed CVE-2023-29007 tillader substitution af indstillinger i $GIT_DIR/config-konfigurationsfilen, som kan bruges til at udføre kode i systemet ved at angive stier til eksekverbare filer i core.pager, core.editor og core.sshCommand-direktiverne. Sårbarheden er forårsaget af en logisk fejl, på grund af hvilken meget lange konfigurationsværdier kan behandles som begyndelsen på en ny sektion, når en sektion omdøbes eller slettes fra en konfigurationsfil. I praksis kan substitution af udnyttende værdier opnås ved at specificere meget lange undermodul-URL'er, der er gemt i $GIT_DIR/config-filen under initialisering. Disse URL'er kan fortolkes som nye indstillinger, når man forsøger at fjerne dem via "git submodule deinit".

Sårbarhed CVE-2023-25652 tillader overskrivning af indholdet af filer uden for arbejdstræet, når specielt udformede patches behandles af kommandoen "git apply --reject". Hvis du forsøger at udføre en ondsindet patch med kommandoen "git apply", der forsøger at skrive til en fil via et symbolsk link, vil handlingen blive afvist. I Git 2.39.1 er beskyttelsen mod manipulation af symboler blevet udvidet til at blokere patches, der skaber symbolske links og forsøger at skrive gennem dem. Essensen af ​​den undersøgte sårbarhed er, at Git ikke tog højde for, at brugeren kan udføre kommandoen "git apply -reject" for at skrive de afviste dele af patchen som filer med filtypen ".rej", og angriberen kan brug denne mulighed til at skrive indholdet til en vilkårlig mappe, så vidt de nuværende tilladelser tillader det.

Derudover er tre sårbarheder, der kun vises på Windows-platformen, blevet rettet: CVE-2023-29012 (søg efter den eksekverbare doskey.exe i arbejdsbiblioteket i depotet, når du udfører kommandoen "Git CMD", som giver dig mulighed for at organisere udførelsen af ​​din kode på brugerens system), CVE-2023 -25815 (bufferoverløb under behandling af tilpassede lokaliseringsfiler i gettext) og CVE-2023-29011 (mulighed for at erstatte connect.exe-filen, når du arbejder gennem SOCKS5).

Kilde: opennet.ru

Tilføj en kommentar