Wydanie OpenSSH 9.6 z eliminacją luk

Opublikowano wydanie OpenSSH 9.6, otwartej implementacji klienta i serwera do pracy z wykorzystaniem protokołów SSH 2.0 i SFTP. Nowa wersja naprawia trzy problemy związane z bezpieczeństwem:

  • Luka w protokole SSH (CVE-2023-48795, atak „Terrapin”), która umożliwia atakowi MITM wycofanie połączenia w celu użycia mniej bezpiecznych algorytmów uwierzytelniania i wyłączenie ochrony przed atakami typu side-channel, które odtwarzają dane wejściowe poprzez analizę opóźnień pomiędzy naciśnięciami klawiszy na klawiaturze. Metodę ataku opisano w osobnym artykule.
  • Luka w narzędziu ssh, która umożliwia podstawienie dowolnych poleceń powłoki poprzez manipulację wartościami logowania i hosta zawierającymi znaki specjalne. Lukę można wykorzystać, jeśli osoba atakująca kontroluje wartości loginu i nazwy hosta przekazywane do dyrektyw ssh, ProxyCommand i LocalCommand lub bloki „match exec” zawierające znaki wieloznaczne, takie jak %u i %h. Na przykład nieprawidłowy login i host można zastąpić w systemach korzystających z podmodułów w Git, ponieważ Git nie zabrania określania znaków specjalnych w nazwach hosta i użytkownika. Podobna luka pojawia się również w libssh.
  • W ssh-agencie wystąpił błąd polegający na tym, że przy dodawaniu kluczy prywatnych PKCS#11 ograniczenia dotyczyły tylko pierwszego klucza zwróconego przez token PKCS#11. Problem nie dotyczy zwykłych kluczy prywatnych, tokenów FIDO ani kluczy nieograniczonych.

Inne zmiany:

  • Dodano podstawienie „%j” do ssh, rozwijające się do nazwy hosta określonej za pomocą dyrektywy ProxyJump.
  • ssh dodał obsługę ustawiania ChannelTimeout po stronie klienta, którego można użyć do zakończenia nieaktywnych kanałów.
  • Dodano obsługę odczytu kluczy prywatnych ED25519 w formacie PEM PKCS8 do ssh, sshd, ssh-add i ssh-keygen (poprzednio obsługiwany był tylko format OpenSSH).
  • Do ssh i sshd dodano rozszerzenie protokołu w celu renegocjacji algorytmów podpisu cyfrowego na potrzeby uwierzytelniania za pomocą klucza publicznego po otrzymaniu nazwy użytkownika. Przykładowo korzystając z rozszerzenia można selektywnie stosować inne algorytmy w stosunku do użytkowników określając PubkeyAcceptedAlgorithms w bloku „Dopasuj użytkownika”.
  • Dodano rozszerzenie protokołu do ssh-add i ssh-agent w celu ustawienia certyfikatów podczas ładowania kluczy PKCS#11, umożliwiając używanie certyfikatów powiązanych z kluczami prywatnymi PKCS#11 we wszystkich narzędziach OpenSSH obsługujących ssh-agent, a nie tylko ssh.
  • Poprawione wykrywanie nieobsługiwanych lub niestabilnych flag kompilatora, takich jak „-fzero-call-used-regs” w clang.
  • Aby ograniczyć uprawnienia procesu sshd, wersje OpenSolaris obsługujące interfejs getpflags() używają trybu PRIV_XPOLICY zamiast PRIV_LIMIT.

Źródło: opennet.ru

Dodaj komentarz