OpenSSH 9.2 dirilis kanthi ndandani kerentanan pra-otentikasi

Rilis OpenSSH 9.2 wis diterbitake, implementasine mbukak klien lan server kanggo nggarap protokol SSH 2.0 lan SFTP. Versi anyar ngilangake kerentanan sing nyebabake memori gratis kaping pindho ing tahap pra-otentikasi. Mung release OpenSSH 9.1 sing kena pengaruh; masalah ora katon ing versi sadurungé.

Kanggo nggawe kahanan kanggo manifestasi kerentanan, cukup ngganti spanduk klien SSH dadi "SSH-2.0-FuTTYSH_9.1p1" kanggo nyetel panji "SSH_BUG_CURVE25519PAD" lan "SSH_OLD_DHGEX", sing gumantung saka versi SSH. klien. Sawise nyetel panji kasebut, memori kanggo buffer "options.kex_algorithms" dibebasake kaping pindho - nalika nindakake fungsi do_ssh2_kex (), sing nelpon compat_kex_proposal (), lan nalika nindakake fungsi do_authentication2 (), sing nelpon input_userauth_request (llow), mm_getpwnama ), copy_set_server_options () bebarengan chain, assemble_algorithm () lan kex_assemble_names ().

Nggawe eksploitasi sing bisa digunakake kanggo kerentanan dianggep ora mungkin, amarga proses eksploitasi rumit banget - perpustakaan alokasi memori modern nyedhiyakake proteksi marang pembebasan memori kaping pindho, lan proses pra-auth sing ana kesalahane mlaku kanthi hak istimewa sing suda ing papan sing terisolasi. lingkungan sandbox.

Saliyane kerentanan sing kacathet, rilis anyar uga ndandani rong masalah keamanan liyane:

  • Ana kesalahan nalika ngolah setelan "PermitRemoteOpen", nyebabake argumen pisanan ora digatekake yen beda karo nilai "apa wae" lan "ora ana". Masalah kasebut katon ing versi sing luwih anyar tinimbang OpenSSH 8.7 lan nyebabake pamriksa bakal dilewati nalika mung siji ijin sing ditemtokake.
  • Penyerang sing ngontrol server DNS sing digunakake kanggo mutusake jeneng bisa ngganti karakter khusus (contone, "*") menyang file known_hosts yen opsi CanonicalizeHostname lan CanonicalizePermittedCNAMEs diaktifake ing konfigurasi, lan solver sistem ora mriksa bener respon saka server DNS. Serangan kasebut dianggep ora mungkin amarga jeneng sing bali kudu cocog karo kondisi sing ditemtokake liwat CanonicalizePermittedCNAMEs.

Owah-owahan liyane:

  • Setelan EnableEscapeCommandline wis ditambahake menyang ssh_config kanggo ssh kanggo ngontrol manawa pangolahan sisih klien saka urutan uwal "~ C" sing nyedhiyakake baris printah diaktifake. Kanthi gawan, penanganan "~C" saiki dipateni kanggo nggunakake isolasi kothak wedhi sing luwih kenceng, sing bisa ngrusak sistem sing nggunakake "~C" kanggo nerusake port nalika runtime.
  • Directive ChannelTimeout wis ditambahake menyang sshd_config kanggo sshd kanggo nyetel wektu entek saluran ora aktif (saluran sing ora ana lalu lintas sing direkam kanggo wektu sing ditemtokake ing arahan kasebut bakal ditutup kanthi otomatis). Wektu entek beda bisa disetel kanggo sesi, X11, agen, lan pangalihan lalu lintas.
  • Arahan UnusedConnectionTimeout wis ditambahake menyang sshd_config kanggo sshd, ngidini sampeyan nyetel wektu entek kanggo mungkasi sambungan klien sing ora ana saluran aktif sajrone wektu tartamtu.
  • Opsi "-V" wis ditambahake menyang sshd kanggo nampilake versi, padha karo pilihan sing padha ing klien ssh.
  • Nambahake baris "Host" menyang output "ssh -G", nggambarake nilai argumen hostname.
  • Opsi "-X" wis ditambahake menyang scp lan sftp kanggo ngontrol parameter protokol SFTP kayata ukuran buffer salinan lan jumlah panjaluk sing ditundha.
  • ssh-keyscan ngidini mindhai kisaran alamat CIDR lengkap, contone "ssh-keyscan 192.168.0.0/24".

Source: opennet.ru

Add a comment