Aplikacja goshs (SimpleHTTPServer napisany w Go) w wersjach wcześniejszych niż 2.0.0-beta.3 nie przeprowadza sanityzacji ścieżki podczas operacji PUT upload, co stanowi podatność typu path traversal. Krytyczny poziom CVSS 9.8 oznacza, że atakujący nieuwierzytelniony zdalnie może zapisywać pliki w dowolnym miejscu systemu plików serwera.
▸ Pokaż oryginał (EN)
goshs is a SimpleHTTPServer written in Go. Prior to 2.0.0-beta.3, PUT upload in httpserver/updown.go has no path sanitization. This vulnerability is fixed in 2.0.0-beta.3.
Podatność znajduje się w pliku httpserver/updown.go odpowiedzialnym za obsługę żądań PUT. Podczas wgrywania pliku serwer nie weryfikuje ani nie oczyszcza podanej przez klienta ścieżki docelowej. Atakujący może spreparować żądanie HTTP PUT zawierające sekwencje path traversal (np. '../../../'), które pozwolą na zapisanie pliku poza dozwolonym katalogiem roboczym serwera.
Atakujący może zapisać dowolny plik w wybranym miejscu systemu plików dostępnym dla procesu goshs, co może prowadzić do naruszenia poufności, integralności oraz dostępności systemu — w tym do wykonania złośliwego kodu poprzez nadpisanie krytycznych plików konfiguracyjnych lub binarnych.
Należy zaktualizować goshs do wersji 2.0.0-beta.3 lub nowszej, w której podatność została naprawiona. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do instancji goshs wyłącznie do zaufanych hostów oraz wyłączenie funkcji PUT upload jeśli nie jest wymagana.
Goshs we wszystkich wersjach przed 2.0.0-beta.3
Podatność została zgłoszona i naprawiona przez autora projektu — szczegóły dostępne w security advisory repozytorium GitHub: GHSA-g8mv-vp7j-qp64.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGoshs
APPGoshs2.0.0< 2.0.0
Powiązane podatności
Pominięcie uwierzytelnienia SFTP w serwerze goshs (auth bypass)
Goshs: wyciek tokenu GITHUB_TOKEN przez artefakty workflow (ArtiPACKED)
Authorization bypass w goshs — ominięcie ACL bez uwierzytelnienia
Path traversal w Goshs — brak return po walidacji ścieżki w deleteFile()
Path traversal w Goshs — brak sanityzacji katalogu przy uploadzie plików