Wydano OpenSSH 10.5, otwartą implementację klienta i serwera do pracy z protokołami SSH 2.0 i SFTP. Główne zmiany:
- Do działania przenośnej wersji OpenSSH teraz wymagana jest obsługa kryptografii opartej na krzywych eliptycznych (ECC - Elliptic Curve Cryptography) w bibliotece libcrypto, w tym wsparcie dla krzywej eliptycznej NISTP521. W implementacjach libcrypto od projektów LibreSSL, OpenSSL, BoringSSL i AWS LC wsparcie to jest włączone domyślnie.
- W narzędziu ssh-keygen przy resetowaniu hasła do kluczy prywatnych dla tokenów FIDO wprowadzono ustawienie flag touch-required i verify-required, które wymagają potwierdzenia od użytkownika.
- W narzędziu ssh zmieniono kolejność zastosowania certyfikatów przy uwierzytelnianiu na podstawie kluczy publicznych — w pierwszej kolejności stosowane są klucze FIDO, które nie wymagają działań ze strony użytkownika, a na końcu klucze, które proszą o weryfikację za pomocą kodu PIN lub biometrii.
- Dodano komendę „ssh -Z user”, która wyświetla klucze w kolejności ich użycia do uwierzytelniania na podstawie kluczy publicznych.
- Usunięto problemy z bezpieczeństwem:
- Naprawiono nieprawidłowe przetwarzanie żądań przypisania sesji przy blokowaniu SSH Agent, które prowadziło do tego, że zamiast odmowy dostępu, SSH Agent pozwalał na zdalne wykonywanie operacji, które powinny być dostępne tylko lokalnie, takich jak dodawanie tokenów PKCS#11 i używanie kluczy przypisanych w ustawieniach do konkretnych serwerów.
- W kliencie ssh usunięto potencjalne odniesienie do pamięci po jej zwolnieniu (use-after-free), objawiające się podczas multiplexowania połączeń SSH przez jeden soket w przypadku dodawania nowego przekierowania portów w momencie, gdy klient wciąż czeka na serwera odpowiedź na otwarcie poprzedniego przekierowania.
- W sshd wprowadzono poprawne stosowanie ograniczeń określonych przez flagę „restrict” w pliku authorized_keys dla przekierowywanych tuneli.
Źródło: opennet.ru
