Podatność w bibliotece Golang Crypto umożliwia ominięcie autoryzacji w błędnie skonfigurowanych serwerach SSH. Atakujący może uzyskać nieautoryzowany dostęp, pomijając weryfikację adresu źródłowego połączenia.
▸ Pokaż oryginał (EN)
Previously, CVE-2024-45337 fixed an authorization bypass for misused ssh server configurations; if any other type of callback is passed other than public key, then the source-address validation would be skipped.
Podatność jest związana z niekompletną naprawą wcześniejszej luki CVE-2024-45337. Jeśli w konfiguracji serwera SSH zamiast callbacku opartego na kluczu publicznym zostanie przekazany inny typ callbacku, mechanizm walidacji adresu źródłowego (source-address validation) jest całkowicie pomijany. Oznacza to, że ograniczenia dostępu oparte na adresie IP przestają być egzekwowane, co pozwala atakującemu na połączenie się z serwera SSH z dowolnego adresu sieciowego.
Atakujący bez żadnego uwierzytelnienia i z dowolnej lokalizacji sieciowej może ominąć kontrolę autoryzacji opartą na adresie źródłowym, uzyskując nieautoryzowany dostęp do zasobów chronionego serwera SSH. Może to prowadzić do pełnego naruszenia poufności i integralności danych przetwarzanych przez serwer.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://go.dev/cl/781642, https://pkg.go.dev/vuln/GO-2026-5023). Dodatkowo zaleca się weryfikację konfiguracji serwera SSH pod kątem poprawnego stosowania callbacków opartych na kluczu publicznym.
Aplikacje wykorzystujące bibliotekę Golang Crypto z błędnie skonfigurowanym serwerem SSH, w których stosowane są callbacki inne niż oparte na kluczu publicznym — szczegółowe wersje wskazane w referencjach producenta
Podatność stanowi niekompletną naprawę wcześniejszej luki CVE-2024-45337, która dotyczyła tego samego mechanizmu pomijania autoryzacji w źle skonfigurowanych serwerach SSH opartych na bibliotece Golang Crypto.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:LGolang Crypto
APPGolang< 0.52.0
Powiązane podatności
Golang Crypto: pominięcie ograniczeń przy przekazywaniu kluczy do zdalnego agenta SSH
Golang Crypto: brak wymuszenia ograniczenia ConfirmBeforeUse w NewKeyring()
Brak weryfikacji flagi User Presence w FIDO/U2F w Golang Crypto
Golang Crypto: resource leak przez niezamawiane odpowiedzi SSH global request
Integer overflow w Golang Crypto SSH — nieskończona pętla przy zapisie >4GB