Wbudowany serwer SSH w Gogs do wersji 0.13.0 zawiera podatność typu argument injection, która umożliwia zdalne wykonanie kodu (RCE). Zagrożenie jest krytyczne, ponieważ uwierzytelniony atakujący może przejąć kontrolę nad serwerem bez konieczności posiadania wysokich uprawnień.
▸ Pokaż oryginał (EN)
The built-in SSH server of Gogs through 0.13.0 allows argument injection in internal/ssh/ssh.go, leading to remote code execution. Authenticated attackers can exploit this by opening an SSH connection and sending a malicious --split-string env request if the built-in SSH server is activated. Windows installations are unaffected.
Podatność (CWE-88) tkwi w pliku internal/ssh/ssh.go wbudowanego serwera SSH. Uwierzytelniony atakujący nawiązuje połączenie SSH z serwerem Gogs i wysyła specjalnie spreparowane żądanie zawierające złośliwy parametr --split-string w ramach zmiennej środowiskowej env. Nieprawidłowa obsługa argumentów pozwala na wstrzyknięcie dodatkowych poleceń, które są następnie wykonywane po stronie serwera. Podatność dotyczy wyłącznie instalacji z aktywnym wbudowanym serwerem SSH; instalacje na systemie Windows nie są zagrożone.
Pomyślne wykorzystanie podatności pozwala atakującemu na zdalne wykonanie dowolnego kodu (RCE) w kontekście serwera, co może skutkować pełnym przejęciem systemu, kradzieżą danych repozytoriów oraz naruszeniem poufności, integralności i dostępności całej instancji Gogs.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (strona wydań projektu Gogs: https://github.com/gogs/gogs/releases). Jako obejście, jeśli aktualizacja nie jest możliwa natychmiast, należy wyłączyć wbudowany serwer SSH w konfiguracji Gogs.
Gogs w wersjach do 0.13.0 włącznie, wyłącznie na instalacjach innych niż Windows, z aktywnym wbudowanym serwerem SSH
Podatność została opisana przez badaczy SonarSource. Instalacje Gogs na systemie Windows nie są podatne. Koniecznym warunkiem exploitation jest posiadanie konta użytkownika w instancji Gogs oraz aktywny wbudowany serwer SSH (nie dotyczy konfiguracji korzystających z systemowego serwera SSH).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HGogs
APPGogs≤ 0.13.0
Powiązane podatności
Gogs: nadpisywanie obiektów LFS między repozytoriami – atak na łańcuch dostaw
Gogs: ominięcie patcha CVE-2024-56731 umożliwia RCE przez .git
Gogs: RCE przez usuwanie plików w katalogu .git (bypass patcha CVE-2024-39931)
RCE w Gogs poprzez command injection w parametrze tree_path (Windows)
Gogs – nieautoryzowane usuwanie plików wewnętrznych (CWE-552)