goshs, czyli SimpleHTTPServer napisany w języku Go, zawiera podatność pozwalającą na ominięcie uwierzytelnienia w usłudze SFTP. Nieuwierzytelniony atakujący sieciowy może uzyskać dostęp do plików serwera bez podawania hasła.
▸ Pokaż oryginał (EN)
goshs is a SimpleHTTPServer written in Go. Prior to 2.0.0-beta.6, goshs contains an SFTP authentication bypass when the documented empty-username basic-auth syntax is used. If the server is started with -b ':pass' together with -sftp, goshs accepts that configuration but does not install any SFTP password handler. As a result, an unauthenticated network attacker can connect to the SFTP service and access files without a password. This vulnerability is fixed in 2.0.0-beta.6.
Problem występuje, gdy serwer zostaje uruchomiony z parametrem -b ':pass' (składnia basic-auth z pustą nazwą użytkownika) jednocześnie z flagą -sftp. Goshs akceptuje taką konfigurację, jednak nie instaluje żadnego mechanizmu weryfikacji hasła dla protokołu SFTP. W rezultacie każdy atakujący może nawiązać połączenie z usługą SFTP i przeglądać lub pobierać pliki bez konieczności podawania jakichkolwiek poświadczeń.
Atakujący może uzyskać nieautoryzowany dostęp do plików udostępnianych przez serwer, co prowadzi do naruszenia poufności, integralności i dostępności danych.
Należy zaktualizować goshs do wersji 2.0.0-beta.6 lub nowszej, w której podatność została naprawiona. Jako obejście tymczasowe należy unikać jednoczesnego stosowania opcji -b ':pass' i -sftp lub ograniczyć dostęp sieciowy do usługi SFTP za pomocą firewalla.
goshs w wersjach poprzedzających 2.0.0-beta.6, gdy serwer uruchomiony jest z parametrami -b ':pass' oraz -sftp
Podatność dotyczy wyłącznie specyficznej kombinacji parametrów uruchomieniowych: pustej nazwy użytkownika w konfiguracji basic-auth (-b ':pass') oraz włączonego trybu SFTP (-sftp). Szczegóły dostępne w security advisory na GitHub: GHSA-c29w-qq4m-2gcv.
CVSS:3.1/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
Goshs: wyciek tokenu GITHUB_TOKEN przez artefakty workflow (ArtiPACKED)
Authorization bypass w goshs — ominięcie ACL bez uwierzytelnienia
Path traversal w Goshs — brak sanityzacji katalogu przy uploadzie plików
Path traversal w goshs — brak sanityzacji ścieżki przy PUT upload
Path traversal w Goshs — brak return po walidacji ścieżki w deleteFile()