Wydanie OpenSSH 8.9 z usunięciem luki w sshd

Po sześciu miesiącach prac, wydano wersję OpenSSH 8.9, otwartą implementację klienta i serwera działającego w protokołach SSH 2.0 i SFTP. W nowej wersji w sshd usunięto lukę, która potencjalnie pozwalała na uzyskanie dostępu bez uwierzytelnienia. Problem ten wynikał z przepełnienia liczb całkowitych w kodzie uwierzytelnienia, ale jego wykorzystanie było możliwe tylko w połączeniu z innymi błędami logicznymi w kodzie.

W obecnej formie luka ta nie jest wykorzystywana przy włączonym trybie separacji uprawnień, ponieważ jej manifestacja jest blokowana przez osobne kontrole wykonywane w kodzie monitorowania separacji uprawnień. Tryb separacji uprawnień aktywowano domyślnie w 2002 roku, zaczynając od OpenSSH 3.2.2, i stał się obowiązkowy od wersji OpenSSH 7.5 opublikowanej w 2017 roku. Dodatkowo, w przenośnych wersjach OpenSSH, począwszy od wydania 6.5 (2014), luka ta jest blokowana przez kompilację z włączonymi flagami ochrony przed przepełnieniem liczb całkowitych.

Inne zmiany:

  • W przenośnej wersji OpenSSH w sshd usunięto wbudowane wsparcie dla haszowania haseł z użyciem algorytmu MD5 (powiązanie z zewnętrznymi bibliotekami, takimi jak libxcrypt, jest dozwolone dla powrotu).
  • W ssh, sshd, ssh-add i ssh-agent wprowadzono podsystem do ograniczania przesyłania i używania kluczy dodanych do ssh-agent. Podsystem ten pozwala na definiowanie zasad określających, jak i gdzie można używać kluczy w ssh-agent. Na przykład, do dodania klucza, który może być używany tylko do uwierzytelnienia przy łączeniu się dowolnego użytkownika z hostem scylla.example.org, użytkownika perseus z hostem cetus.example.org oraz użytkownika medea z hostem charybdis.example.org z przekierowaniem przez pośredni host scylla.example.org, można użyć następującej komendy: $ ssh-add -h "perseus@cetus.example.org" \ -h "scylla.example.org" \ -h "scylla.example.org>medea@charybdis.example.org" \ ~\/ .ssh\/id_ed25519
  • W ssh i sshd do listy KexAlgorithms, określającej kolejność wyboru metod wymiany kluczy, domyślnie dodano hybrydowy algorytm „sntrup761x25519-sha512@openssh.com” (ECDH/x25519 + NTRU Prime), odporny na ataki z użyciem komputerów kwantowych. W wersji OpenSSH 8.9 metoda ta została dodana między metodami ECDH a DH, ale w następnej wersji planuje się jej stosowanie domyślnie.
  • W ssh-keygen, ssh i ssh-agent poprawiono obsługę kluczy FIDO-tokenów używanych do weryfikacji urządzenia, w tym kluczy do autoryzacji biometrycznej.
  • W ssh-keygen dodano polecenie „ssh-keygen -Y match-principals” do sprawdzania nazw użytkowników w pliku z dozwolonymi nazwami.
  • W ssh-add i ssh-agent wprowadzono możliwość dodawania kluczy FIDO zabezpieczonych kodem PIN do ssh-agent (oprogramowanie żąda wpisania PIN-u w momencie autoryzacji).
  • W ssh-keygen zezwolono na wybór algorytmu haszowania (sha512 lub sha256) podczas tworzenia podpisu.
  • W ssh i sshd dla poprawy wydajności wprowadzono bezpośrednie czytanie danych sieciowych do bufora pakietów przychodzących, omijając pośrednie buforowanie w stosie. Podobnie zaimplementowano bezpośrednie umieszczanie otrzymywanych danych w buforze kanału.
  • W ssh w dyrektywie PubkeyAuthentication rozszerzono listę obsługiwanych parametrów (yes|no|unbound|host-bound) w celu umożliwienia wyboru wariantu używanego rozszerzenia protokołu.

W jednej z następnych wersji planowane jest domyślne przejście narzędzia scp na użycie SFTP zamiast przestarzałego protokołu SCP/RCP. W SFTP stosuje się bardziej przewidywalne metody obsługi nazw i nie wykorzystuje globowania w nazwach plików po stronie innego hosta, co powoduje problemy bezpieczeństwa. W szczególności w przypadku SCP i RCP serwer decyduje, które pliki i katalogi wysłać do klienta, a klient jedynie sprawdza poprawność zwróconych nazw obiektów, co w przypadku braku odpowiednich sprawdzeń po stronie klienta pozwala serwera na przekazanie innych nazw plików, różniących się od żądanych. Protokół SFTP pozbawiony jest wymienionych problemów, ale nie wspiera ujawniania specjalnych ścieżek, takich jak „~/”. Aby wyeliminować tę różnicę, w poprzedniej wersji OpenSSH zaproponowano nowe rozszerzenie protokołu SFTP do ujawniania ścieżek ~/ i ~user/.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster