Vydanie OpenSSH 9.2 s odstránením zraniteľnosti, ktorá sa prejavuje v štádiu pred autentizáciou

Bol spustený OpenSSH 9.2, open source implementácia klienta a servera pre prácu s protokolmi SSH 2.0 a SFTP. V novej verzii bola odstránená zraniteľnosť, ktorá vedie k dvojitému oslobodeniu pamäte pred autentifikáciou. Zraniteľná je iba verzia OpenSSH 9.1, v starších verziách problém neprejavuje.

Na vytvorenie podmienok na prejav zraniteľnosti stačí zmeniť banner SSH klienta na „SSH-2.0-FuTTYSH_9.1p1“, aby sa aktivovali prípady „SSH_BUG_CURVE25519PAD“ a „SSH_OLD_DHGEX“, ktoré sú závislé od verzie SSH klienta. Po aktivácii týchto flagov je pamäť pre buffer „options.kex_algorithms“ oslobodená dvakrát — pri vykonávaní funkcie do_ssh2_kex(), ktorá volá compat_kex_proposal(), a pri vykonávaní funkcie do_authentication2(), ktorá postupne volá input_userauth_request(), mm_getpwnamallow(), copy_set_server_options(), assemble_algorithms() a kex_assemble_names().

Vytvorenie funkčného exploit pre zraniteľnosť sa považuje za nepravdepodobné, pretože proces exploitácie je príliš zložitý — moderné knižnice správy pamäti poskytujú ochranu pred dvojitým oslobodením pamäte, a proces pre autentifikáciu, v ktorom sa chyba nachádza, sa vykonáva s obmedzenými oprávneniami v izolovanom sandboxovom prostredí.

Okrem uvedenej zraniteľnosti boli v novej verzii odstránené aj ďalšie dve bezpečnostné problémy:

  • Chyba pri spracovaní nastavenia „PermitRemoteOpen“, ktorá vedie k ignorovaniu prvého argumentu, ak sa líši od hodnôt „any“ a „none“. Problém sa prejavuje vo verziách novších ako OpenSSH 8.7 a vedie k preskočeniu kontroly pri zadávaní iba jedného oprávnenia.
  • Útočník, ktorý kontroluje DNS server používaný na preloženie mien, môže dosiahnuť vloženie špeciálnych znakov (napríklad „*“) do súborov known_hosts, ak sú v konfigurácii povolené možnosti CanonicalizeHostname a CanonicalizePermittedCNAMEs, a systémový resolver nekontroluje správnosť odpovedí od DNS servera. Realizácia útoku sa považuje za nepravdepodobnú, pretože vracané mená musia byť v súlade s podmienkami stanovenými cez CanonicalizePermittedCNAMEs.

Ďalšie zmeny:

  • V súbore ssh_config pre ssh bola pridaná voľba EnableEscapeCommandline, ktorá riadi spracovanie escape sekvencie na strane klienta «~C», poskytujúcej príkazový riadok. Predvolene je spracovanie «~C» teraz zakázané pre prísnejšiu izoláciu sandboxu, čo môže potenciálne narušiť fungovanie systémov, v ktorých sa «~C» používa na presmerovanie portov počas činnosti.
  • V súbore sshd_config pre sshd bola pridaná direktíva ChannelTimeout na nastavenie timeoutu neaktivity kanálu (kanály, v ktorých sa počas predpísaného času v direktíve nezaznamenáva žiadny prenos, budú automaticky uzavreté). Pre reláciu, X11, agenta a presmerovania prenosu môžu byť nastavené rôzne timeouty.
  • V súbore sshd_config pre sshd bola pridaná direktíva UnusedConnectionTimeout, ktorá umožňuje nastaviť timeout na ukončenie klientských spojení, ktoré sú určitý čas bez aktívnych kanálov.
  • V sshd bola pridaná voľba «-V» na zobrazenie verzie, podobne ako táto voľba v klientovi ssh.
  • Do výstupu «ssh -G» bola pridaná riadok «Host», ktorý odráža hodnotu argumentu s názvom hostiteľ.
  • Do scp a sftp bola pridaná voľba «-X» na riadenie takých parametrov protokolu SFTP, ako je veľkosť vyrovnávacej pamäte a počet čakajúcich požiadaviek na dokončenie.
  • V ssh-keyscan je povolené skenovanie celých CIDR rozsahov adries, napríklad, «ssh-keyscan 192.168.0.0/24».

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster