Po sześciu miesiącach prac, opublikowano wydanie OpenSSH 9.1, otwartej implementacji klienta i serwera do pracy z protokołami SSH 2.0 i SFTP. Wydanie to opisane jest jako głównie zawierające poprawki błędów, w tym usunięcie kilku potencjalnych podatności spowodowanych problemami z pamięcią:
- Jednobajtowe przepełnienie w kodzie obsługi banera SSH w narzędziu ssh-keyscan.
- Podwójne wywołanie funkcji free() w przypadku błędu w obliczaniu hashy dla plików w kodzie tworzenia i weryfikacji podpisów cyfrowych w narzędziu ssh-keygen.
- Podwójne wywołanie funkcji free() podczas obsługi błędów w narzędziu ssh-keysign.
Główne zmiany:
- W ssh i sshd dodano dyrektywę RequiredRSASize, która pozwala określić minimalny dozwolony rozmiar kluczy RSA. W sshd klucze mniejszego rozmiaru będą ignorowane, a w ssh mogą prowadzić do zakończenia połączenia.
- Przenośna wersja OpenSSH została przystosowana do użycia kluczy SSH do autoryzacji podpisów cyfrowych commitów i tagów w Git.
- Dyrektywy SetEnv w plikach konfiguracyjnych ssh_config i sshd_config teraz stosują wartość z pierwszego wystąpienia zmiennej środowiskowej, jeśli została ona zdefiniowana w konfiguracji wiele razy (wcześniej stosowano ostatnie wystąpienie).
- Podczas wywołania narzędzia ssh-keygen z flagą "-A" (generowanie wszystkich domyślnie obsługiwanych typów kluczy hosta) wyłączono generowanie kluczy DSA, które od kilku lat nie są domyślnie używane.
- W sftp-server i sftp zrealizowano rozszerzenie "users-groups-by-id@openssh.com", które daje klientowi możliwość zażądania nazw użytkowników i grup odpowiadających podanemu zestawowi identyfikatorów cyfrowych (uid i gid). W sftp to rozszerzenie wykorzystano do wyświetlania nazw podczas wypisywania zawartości katalogu.
- W sftp-server zrealizowano rozszerzenie "home-directory" do rozkrywania ścieżek ~\/ i ~user\/, alternatywnego wcześniej proponowanemu dla tych samych celów rozszerzeniu "expand-path@openssh.com" (rozszerzenie "home-directory" zaproponowano w celu standaryzacji i już wspiera je kilka klientów).
- W ssh-keygen i sshd dodano możliwość określenia czasu w strefie czasowej UTC przy definiowaniu okresów ważności certyfikatów i kluczy, oprócz czasu systemowego.
- W sftp pozwolono na wskazanie dodatkowych argumentów w opcji "-D" (na przykład, "/usr/libexec/sftp-server -el debug3").
- W ssh-keygen dozwolone jest używanie flagi „-U” (używanie ssh-agent) razem z operacjami „-Y sign”, aby określić, że prywatne klucze są umieszczone w ssh-agent.
Źródło: opennet.ru
