CVE-2024-45405 in gitoxideinfo

Zusammenfassung

von VulDB • 20.06.2026

`gix-path` ist ein Crate des `gitoxide`-Projekts (eine in Rust geschriebene Implementierung von `git`), das sich mit Pfaden und deren Konvertierung befasst. Vor Version 0.10.11 führt `gix-path` `git` aus, um den Pfad einer Konfigurationsdatei zu finden, die mit der `git`-Installation verknüpft ist, löst jedoch Pfade, die ungewöhnliche oder Nicht-ASCII-Zeichen enthalten, unsachgemäß auf, was in seltenen Fällen einem lokalen Angreifer ermöglicht, Konfigurationen einzuschleusen, die zur Code-Ausführung führen. Version 0.10.11 enthält einen Patch für dieses Problem.

In `gix_path::env` ruft die zugrunde liegende Implementierung der Funktionen `installation_config` und `installation_config_prefix` `git config -l --show-origin` auf, um den Pfad einer Datei zu finden, die als zur `git`-Installation gehörend behandelt werden soll. Betroffene Versionen von `gix-path` übergeben nicht `-z`/`--null`, um `git` dazu zu bringen, wörtliche Pfade auszugeben. Stattdessen versuchen sie, den Pfad zu parsen, indem sie die Anführungszeichen entfernen, um den gelegentlichen Fall abzudecken, dass `git` einen in Anführungszeichen gesetzten Pfad ausgibt. Das Problem besteht darin, dass ein Pfad, wenn er in Anführungszeichen gesetzt ist, sich auf wesentliche Weise ändern kann, die über das bloße Hinzufügen von Anführungszeichen hinausgeht. Wenn diese Änderungen nicht rückgängig gemacht werden, kann dies zu einem anderen gültigen Pfad führen, der nicht mit dem ursprünglichen äquivalent ist.

Auf einem Single-User-System ist eine Ausnutzung dieses Fehlers nicht möglich, es sei denn, `GIT_CONFIG_SYSTEM` und `GIT_CONFIG_GLOBAL` wurden auf ungewöhnliche Werte gesetzt oder Git wurde auf ungewöhnliche Weise installiert. Ein solches Szenario wird nicht erwartet. Eine Ausnutzung ist selbst auf einem Multi-User-System unwahrscheinlich, obwohl sie in einigen unüblichen Konfigurationen oder Anwendungsfällen plausibel ist. Im Allgemeinen ist eine erfolgreiche Ausnutzung wahrscheinlicher, wenn Benutzer erwartet werden, `git` selbst zu installieren, und dies voraussichtlich an vorhersehbaren Orten tun; Orte, an denen `git` installiert ist, sei es aufgrund von Benutzernamen in ihren Pfaden oder auf andere Weise, enthalten Zeichen, die `git` standardmäßig in Pfaden in Anführungszeichen setzt, wie nicht-englische Buchstaben und Buchstaben mit Akzenten; eine benutzerdefinierte Konfigurationsdatei im `system`-Bereich wird mit der Umgebungsvariablen `GIT_CONFIG_SYSTEM` angegeben, und ihr Pfad befindet sich an einem ungewöhnlichen Ort oder hat seltsam benannte Komponenten; oder eine Konfigurationsdatei im `system`-Bereich fehlt, ist leer oder wird auf andere Weise als durch `GIT_CONFIG_NOSYSTEM` unterdrückt. Derzeit kann `gix-path` eine Konfigurationsdatei im `global`-Bereich als zur Installation gehörend behandeln, wenn keine Konfigurationsdatei mit höherem Bereich verfügbar ist. Dies erhöht die Wahrscheinlichkeit einer Ausnutzung selbst auf einem System, auf dem `git` auf übliche Weise systemweit installiert ist. Es wird jedoch erwartet, dass eine Ausnutzung selbst unter jeder Kombination dieser Faktoren sehr schwierig ist.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

GitHub M

Reservieren

28.08.2024

Veröffentlichung

06.09.2024

Moderieren

akzeptiert

Eintrag

VDB-276723

CPE

bereit

EPSS

0.00257

KEV

nein

Aktivitäten

very low

Quellen

Do you know our Splunk app?

Download it now for free!