Po trzech miesiącach prac publikacja OpenSSH 10.4, otwartej realizacji klienta i serwera do pracy zgodnie z protokołami SSH 2.0 i SFTP. Główne zmiany:
- Dodano eksperymentalne wsparcie dla złożonego schematu generowania podpisów cyfrowych „mldsa44-ed25519”, łączącego postkwantowy algorytm ML-DSA 44 oraz algorytm oparty na krzywych eliptycznych Ed25519. Aby włączyć wsparcie, należy dodać „mldsa44-ed25519” do dyrektyw HostKeyAlgorithms i PubkeyAcceptedAlgorithms. Aby wygenerować klucze, można użyć polecenia „ssh-keygen -t mldsa44-ed25519”.
- W ssh i sshd zastosowano nową realizację systemu dopasowywania wzorców, opartą na niedeterminowanym automacie skończonym, która nie jest podatna na problem wykładniczego wzrostu złożoności obliczeniowej przy użyciu masek zawierających wiele symboli „*”.
- Zmieniło się zachowanie wersji sshd na systemach Linux z włączonym filtrowaniem wywołań systemowych przy pomocy seccomp. Wcześniej błąd przy aktywacji SECCOMP lub NO_NEW_PRIVS na systemach Linux bez ich wsparcia prowadził do zapisu ostrzeżenia w logu i kontynuacji pracy bez izolacji, a teraz spowoduje awaryjne zakończenie.
- Przy użyciu opcji „sshd -G” w zrzucie konfiguracji dyrektywy teraz zapisywane są z użyciem liter wielkich i małych, zamiast zapisywania tylko małymi literami (tzn. „PubkeyAuthentication” zamiast „pubkeyauthentication”).
- Zachowanie ssh i sshd dostosowano do standardu RFC 4253: wysyłanie podczas ponownej wymiany kluczy wiadomości, niespowiązanych z wymianą kluczy, teraz skutkuje zakończeniem połączenia. Wcześniej napastnicy mogli przeprowadzić atak DoS, nieskończono wysyłając w trakcie wymiany kluczy wiadomości zewnętrzne, które buforowały się na serwerze i wykorzystywały pamięć.
Usunięto kilka problemów z bezpieczeństwem:
- W narzędziu ssh wyeliminowano potencjalne odwołanie do pamięci po jej zwolnieniu (use-after-free) przy odwołaniu do złośliwego serwera. Problem wykorzystuje się poprzez zmianę klucza hosta w trakcie ponownej wymiany kluczy.
- Vulnerability in sftp allowing a file to be uploaded to a different directory when accessing a malicious server using a command in the form of „sftp host:/path .”.
- Vulnerability in scp allowing files to be copied between two external serwerami, jeden z nich jest kontrolowany przez atakującego, zorganizować zapis plików do katalogu nadrzędnego, znajdującego się na poziomie niżej niż katalog docelowy.
- Usunięto problem w sshd, który występował przy użyciu wewnętrznej implementacji serwera SFTP («internal-sftp»), domyślnie wyłączonej. Problem związany był z odcinaniem długich sekwencji w wierszu poleceń po 9 argumencie, co prowadziło do odrzucenia następnych argumentów. W ten sposób potencjalnie mogły być odrzucone opcje związane z zapewnieniem bezpieczeństwa.
- W sshd usunięto niedociągnięcie, przez które dyrektywa «DisableForwarding=yes» nie wyłączała możliwości tworzenia tuneli dozwolonych przez opcję «PermitTunnel=yes» (domyślnie nie ustawiona).
- W sshd usunięto problem, który można wykorzystać do inicjowania odmowy usług na etapie przed przejściem autoryzacji przy włączeniu dyrektywy GSSAPIAuthentication w ustawieniach (domyślnie wyłączonej). Problem nie jest blokowany przez limit «MaxAuthTries», ale podlega ograniczeniu «PerSourcePenalties».
- W sshd usunięto niedociągnięcia, przez które nie zawsze dodawano minimalne opóźnienie między próbami autoryzacji.
Źródło: opennet.ru
