Kwetsbaarheden in Git waardoor je bestanden kunt overschrijven of je eigen code kunt uitvoeren

Corrigerende releases van 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 en 2.30.9 zijn gepubliceerd .XNUMX , waarmee vijf kwetsbaarheden werden verholpen. U kunt de uitgave van pakketupdates volgen in distributies op de Debian-, Ubuntu-, RHEL-, SUSE/openSUSE-, Fedora-, Arch- en FreeBSD-pagina's. Als tijdelijke oplossing om te beschermen tegen kwetsbaarheden, wordt aanbevolen om het "git apply --reject" commando niet uit te voeren bij het werken met niet-geteste externe patches, en de inhoud van $GIT_DIR/config te controleren voordat de "git submodule deinit", "git config --rename-section" en " git config --remove-section" bij het omgaan met niet-vertrouwde repositories.

Kwetsbaarheid CVE-2023-29007 maakt vervanging van instellingen in het configuratiebestand $GIT_DIR/config mogelijk, dat kan worden gebruikt om code in het systeem uit te voeren door paden naar uitvoerbare bestanden op te geven in de richtlijnen core.pager, core.editor en core.sshCommand. De kwetsbaarheid wordt veroorzaakt door een logische fout waardoor zeer lange configuratiewaarden kunnen worden behandeld als het begin van een nieuwe sectie bij het hernoemen of verwijderen van een sectie uit een configuratiebestand. In de praktijk kan vervanging van exploiterende waarden worden bereikt door zeer lange submodule-URL's te specificeren die tijdens initialisatie worden opgeslagen in het $GIT_DIR/config-bestand. Deze URL's kunnen worden geïnterpreteerd als nieuwe instellingen wanneer u probeert ze te verwijderen via "git submodule deinit".

Door beveiligingslek CVE-2023-25652 kan de inhoud van bestanden buiten de werkstructuur worden overschreven wanneer speciaal vervaardigde patches worden verwerkt door de opdracht "git apply --reject". Als je een kwaadwillende patch probeert uit te voeren met de opdracht "git apply" die via een symbolische link naar een bestand probeert te schrijven, wordt de bewerking geweigerd. In Git 2.39.1 is de bescherming tegen manipulatie van symlinks uitgebreid om patches te blokkeren die symlinks maken en proberen er doorheen te schrijven. De essentie van de betreffende kwetsbaarheid is dat Git er geen rekening mee heeft gehouden dat de gebruiker het commando “git apply -reject” kan uitvoeren om de afgewezen delen van de patch weg te schrijven als bestanden met de extensie “.rej”, en de aanvaller kan maak van deze gelegenheid gebruik om de inhoud naar een willekeurige map te schrijven, voor zover de huidige machtigingen dit toestaan.

Daarnaast zijn drie kwetsbaarheden verholpen die alleen op het Windows-platform voorkomen: CVE-2023-29012 (zoek naar het uitvoerbare bestand doskey.exe in de werkmap van de repository bij het uitvoeren van de opdracht "Git CMD", waarmee u de uitvoering van uw code op het systeem van de gebruiker), CVE-2023 -25815 (bufferoverloop tijdens het verwerken van aangepaste lokalisatiebestanden in gettext) en CVE-2023-29011 (mogelijkheid om het bestand connect.exe te vervangen bij het werken via SOCKS5).

Bron: opennet.ru

Voeg een reactie