OpenSSH 9.2 dileupaskeun kalayan perbaikan pikeun kerentanan pra-auténtikasi

Pelepasan OpenSSH 9.2 parantos diterbitkeun, palaksanaan kabuka pikeun klien sareng server pikeun damel nganggo protokol SSH 2.0 sareng SFTP. Versi anyar ngaleungitkeun kerentanan anu nyababkeun dua kali ngabebaskeun mémori dina tahap pre-auténtikasi. Ngan sékrési OpenSSH 9.1 anu kapangaruhan; masalahna henteu muncul dina versi sateuacana.

Pikeun nyiptakeun kaayaan pikeun manifestasi kerentanan, cukup pikeun ngarobih spanduk klien SSH janten "SSH-2.0-FuTTYSH_9.1p1" pikeun nyetél umbul "SSH_BUG_CURVE25519PAD" sareng "SSH_OLD_DHGEX", anu gumantung kana versi SSH. klien. Saatos netepkeun umbul ieu, mémori pikeun panyangga "options.kex_algorithms" dibébaskeun dua kali - nalika ngajalankeun fungsi do_ssh2_kex (), nu nelepon compat_kex_proposal (), sarta nalika ngajalankeun fungsi do_authentication2 (), nu nelepon input_userauth_request (llow), mm_getpwnama. ), copy_set_server_options () sapanjang ranté nu, assemble_algorithms () sarta kex_assemble_names ().

Nyiptakeun eksploitasi anu tiasa dianggo pikeun kerentanan dianggap teu mungkin, sabab prosés eksploitasi rumit teuing - perpustakaan alokasi mémori modéren nyayogikeun panyalindungan ngalawan pembebasan dua kali memori, sareng prosés pre-auth dimana kasalahanna aya dijalankeun kalayan ngirangan hak istimewa dina terasing. lingkungan sandbox.

Salian kerentanan anu kacatet, sékrési énggal ogé ngalereskeun dua deui masalah kaamanan:

  • Kasalahan lumangsung nalika ngolah setelan "PermitRemoteOpen", ngabalukarkeun argumen kahiji teu dipaliré lamun béda ti nilai "naon" jeung "euweuh". Masalahna muncul dina vérsi anu langkung énggal tibatan OpenSSH 8.7 sareng nyababkeun cék diluncurkeun nalika ngan ukur hiji idin anu ditunjuk.
  • Panyerang anu ngatur server DNS anu dianggo pikeun ngabéréskeun nami tiasa ngahontal substitusi karakter khusus (contona, "*") kana file known_hosts upami pilihan CanonicalizeHostname sareng CanonicalizePermittedCNAMEs diaktipkeun dina konfigurasi, sareng sistem resolver henteu mariksa kabeneran. réspon ti server DNS. Seranganna dianggap teu mungkin sabab nami anu dipulangkeun kedah cocog sareng kaayaan anu ditangtukeun ku CanonicalizePermittedCNAMEs.

Parobahan séjén:

  • Setelan EnableEscapeCommandline geus ditambahkeun kana ssh_config pikeun ssh ngadalikeun naha processing sisi klien tina "~ C" runtuyan ngewa nu nyadiakeun baris paréntah diaktipkeun. Sacara standar, "~C" penanganan ayeuna ditumpurkeun pikeun ngagunakeun isolasi sandbox tighter, berpotensi megatkeun sistem nu make "~C" pikeun port diteruskeun dina runtime.
  • Diréktif ChannelTimeout geus ditambahkeun kana sshd_config pikeun sshd pikeun ngeset channel inactivity timeout (saluran nu euweuh lalulintas dirékam pikeun waktos dieusian dina diréktif bakal otomatis ditutup). Waktos anu béda tiasa disetél pikeun sési, X11, agén, sareng alihan lalu lintas.
  • The UnusedConnectionTimeout diréktif geus ditambahkeun kana sshd_config pikeun sshd, ngamungkinkeun Anjeun pikeun nyetel timeout pikeun terminating sambungan klien nu geus tanpa saluran aktip pikeun waktu nu tangtu.
  • Pilihan "-V" geus ditambahkeun kana sshd pikeun mintonkeun versi, sarupa jeung pilihan sarupa dina klien ssh.
  • Ditambahkeun garis "Host" kana kaluaran "ssh -G", ngagambarkeun nilai argumen hostname.
  • Pilihan "-X" geus ditambahkeun kana scp na sftp ngadalikeun parameter protokol SFTP kayaning ukuran panyangga salinan jeung jumlah requests pending.
  • ssh-keyscan ngamungkinkeun scanning rentang alamat CIDR pinuh, contona "ssh-keyscan 192.168.0.0/24".

sumber: opennet.ru

Tambahkeun komentar