OpenSSH 9.2 llançat amb correcció per a la vulnerabilitat de pre-autenticació

S'ha publicat el llançament d'OpenSSH 9.2, una implementació oberta d'un client i servidor per treballar amb els protocols SSH 2.0 i SFTP. La nova versió elimina una vulnerabilitat que comporta una doble alliberació de memòria en l'etapa prèvia a l'autenticació. Només la versió d'OpenSSH 9.1 es veu afectada; el problema no apareix en versions anteriors.

Per crear condicions per a la manifestació de la vulnerabilitat, n'hi ha prou amb canviar el bàner del client SSH a "SSH-2.0-FuTTYSH_9.1p1" per establir les marques "SSH_BUG_CURVE25519PAD" i "SSH_OLD_DHGEX", que depenen de la versió del SSH. client. Després d'establir aquests indicadors, la memòria per a la memòria intermèdia "options.kex_algorithms" s'allibera dues vegades: quan s'executa la funció do_ssh2_kex(), que crida a compat_kex_proposal(), i quan s'executa la funció do_authentication2(), que crida a input_userauth_request(), mm_getpwna. ), copy_set_server_options() al llarg de la cadena, assemble_algorithms() i kex_assemble_names().

Es considera poc probable que es creï un exploit que funcioni per a la vulnerabilitat, ja que el procés d'explotació és massa complicat: les biblioteques modernes d'assignació de memòria proporcionen protecció contra l'alliberament doble de memòria i el procés de pre-autorització en què hi ha l'error s'executa amb privilegis reduïts en un entorn aïllat. entorn sandbox.

A més de la vulnerabilitat assenyalada, la nova versió també soluciona dos problemes de seguretat més:

  • S'ha produït un error en processar la configuració "PermitRemoteOpen" i va fer que el primer argument s'ignorés si és diferent dels valors "qualsevol" i "cap". El problema apareix en versions més noves que l'OpenSSH 8.7 i fa que la comprovació es salti quan només s'especifica un permís.
  • Un atacant que controli el servidor DNS utilitzat per resoldre els noms pot aconseguir la substitució de caràcters especials (per exemple, "*") als fitxers known_hosts si les opcions CanonicalizeHostname i CanonicalizePermittedCNAMEs estan habilitades a la configuració i la resolució del sistema no comprova la correcció de respostes del servidor DNS. L'atac es considera poc probable perquè els noms retornats han de coincidir amb les condicions especificades mitjançant CanonicalizePermittedCNAMEs.

Altres canvis:

  • S'ha afegit una configuració EnableEscapeCommandline a ssh_config per a ssh per controlar si el processament del costat del client de la seqüència d'escapada "~C" que proporciona la línia d'ordres està habilitat. De manera predeterminada, ara el maneig de "~C" està desactivat per utilitzar un aïllament de sandbox més estricte, la qual cosa podria trencar els sistemes que utilitzen "~C" per al reenviament de ports en temps d'execució.
  • La directiva ChannelTimeout s'ha afegit a sshd_config perquè sshd estableixi el temps d'espera d'inactivitat del canal (els canals en què no es registra trànsit durant el temps especificat a la directiva es tancaran automàticament). Es poden establir diferents temps d'espera per a la sessió, X11, agent i redirecció de trànsit.
  • La directiva UnusedConnectionTimeout s'ha afegit a sshd_config per a sshd, la qual cosa us permet establir un temps d'espera per finalitzar les connexions de client que han estat sense canals actius durant un temps determinat.
  • S'ha afegit l'opció "-V" a sshd per mostrar la versió, de manera similar a l'opció similar del client ssh.
  • S'ha afegit la línia "Host" a la sortida de "ssh -G", que reflecteix el valor de l'argument del nom d'amfitrió.
  • S'ha afegit l'opció "-X" a scp i sftp per controlar els paràmetres del protocol SFTP, com ara la mida de la memòria intermèdia de còpia i el nombre de sol·licituds pendents.
  • ssh-keyscan permet escanejar rangs complets d'adreces CIDR, per exemple "ssh-keyscan 192.168.0.0/24".

Font: opennet.ru

Afegeix comentari