Podatność umożliwia zdalne wykonanie poleceń (RCE) w aplikacji Gogs w wersjach do 0.12.7 włącznie, gdy jest ona uruchomiona na serwerze Windows. Brak walidacji parametru `tree_path` pozwala atakującemu na nadpisanie konfiguracji repozytorium Git i wykonanie dowolnych poleceń systemowych.
▸ Pokaż oryginał (EN)
A remote command execution vulnerability exists in gogs/gogs versions <=0.12.7 when deployed on a Windows server. The vulnerability arises due to improper validation of the `tree_path` parameter during file uploads. An attacker can set `tree_path=.git.` to upload a file into the .git directory, allowing them to write or rewrite the `.git/config` file. If the `core.sshCommand` is set, this can lead to remote command execution.
Atakujący, bez jakiejkolwiek autoryzacji, przesyła plik z parametrem `tree_path` ustawionym na wartość `.git.`, co na systemach Windows pozwala ominąć zabezpieczenia i zapisać plik bezpośrednio w katalogu `.git`. W ten sposób możliwe jest utworzenie lub nadpisanie pliku `.git/config`. Jeśli w konfiguracji repozytorium zostanie ustawiona dyrektywa `core.sshCommand`, Git wykona wskazane w niej polecenie systemowe, co prowadzi do zdalnego wykonania kodu (RCE).
Atakujący może przejąć pełną kontrolę nad serwerem, wykonując dowolne polecenia systemowe z uprawnieniami procesu Gogs. Zagrożona jest poufność, integralność i dostępność całego systemu.
Należy zaktualizować Gogs do wersji wyższej niż 0.12.7. Szczegóły dotyczące dostępnych patchy dostępne są pod adresem wskazanym w referencjach producenta (huntr.com). Jako obejście tymczasowe należy rozważyć ograniczenie dostępu do funkcji przesyłania plików lub migrację na system inny niż Windows.
Gogs w wersjach <= 0.12.7 wdrożony na serwerach Microsoft Windows
Podatność dotyczy wyłącznie instalacji Gogs na systemach Windows — specyfika systemu plików Windows umożliwia obejście walidacji ścieżki poprzez użycie nazwy `.git.` (z kropką na końcu). Na systemach Linux/Unix podatność nie występuje.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGogs
APPGogs≤ 0.12.7Microsoft Windows
OSMicrosoftwszystkie wersje
Powiązane podatności
Atak na łańcuch dostaw DAEMON Tools Lite — trojanizacja instalatorów
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
Path Traversal w Kingsoft WPS Office — ładowanie dowolnej biblioteki Windows
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit