OpenSSH 9.2 kaleratu da aurre-autentifikazioaren ahultasunerako konponketarekin

OpenSSH 9.2 bertsioa argitaratu da, SSH 2.0 eta SFTP protokoloak erabiliz lan egiteko bezero eta zerbitzari baten inplementazio irekia. Bertsio berriak autentifikazioaren aurreko fasean memoria bikoitza askatzea eragiten duen ahultasun bat ezabatzen du. OpenSSH 9.1 bertsioak bakarrik eragiten du; arazoa ez da aurreko bertsioetan agertzen.

Ahultasuna agertzeko baldintzak sortzeko, nahikoa da SSH bezeroaren banner-a "SSH-2.0-FuTTYSH_9.1p1"-ra aldatzea, "SSH_BUG_CURVE25519PAD" eta "SSH_OLD_DHGEX", SSH bertsioaren araberakoak ezartzeko. bezeroa. Bandera hauek ezarri ondoren, "options.kex_algorithms" buffer-aren memoria bi aldiz askatzen da - do_ssh2_kex() funtzioa exekutatzean, compat_kex_proposal() deitzen duena, eta do_authentication2() funtzioa exekutatzean, input_userauth_request() deitzen duena, mm_getpwna. ), copy_set_server_options() katean zehar, assemble_algorithms() eta kex_assemble_names().

Zaurgarritasunerako baliozko ustiapena sortzea nekez jotzen da, ustiapen-prozesua korapilatsuegia baita - memoria esleitzeko liburutegi modernoek memoriaren askapen bikoitzaren aurkako babesa eskaintzen dute, eta errorea dagoen aurreko baimen-prozesua pribilegio murriztuekin exekutatzen da isolatu batean. sandbox ingurunea.

Adierazitako ahultasunaz gain, bertsio berriak beste bi segurtasun arazo ere konpontzen ditu:

  • Errore bat gertatu da "PermitRemoteOpen" ezarpena prozesatzen denean, eta lehenengo argumentua ez ikusi egin da "edozein" eta "none" balioetatik desberdina bada. Arazoa OpenSSH 8.7 baino bertsio berriagoetan agertzen da eta baimen bakarra zehazten denean egiaztapena saltatzea eragiten du.
  • Izenak ebazteko erabiltzen den DNS zerbitzaria kontrolatzen duen erasotzaile batek karaktere bereziak (adibidez, "*") know_hosts fitxategietan ordezkatzea lor dezake, baldin eta konfigurazioan CanonicalizeHostname eta CanonicalizePermittedCNAMEs aukerak gaituta badaude eta sistemaren ebazpenak ez badu egiaztatzen zuzena den. DNS zerbitzariaren erantzunak. Erasoa nekez jotzen da, itzulitako izenek CanonicalizePermittedCNAMEs bidez zehaztutako baldintzekin bat egin behar dutelako.

Beste aldaketa batzuk:

  • EnableEscapeCommandline ezarpena gehitu da ssh_config-era sshrako, komando-lerroa ematen duen "~C" ihes-sekuentziaren bezeroen aldetik prozesatzea gaituta dagoen ala ez kontrolatzeko. Lehenespenez, "~C" kudeaketa desgaituta dago orain sandbox isolamendu estuagoa erabiltzeko, exekuzioan portuak birbidaltzeko "~C" erabiltzen duten sistemak apurtuz.
  • ChannelTimeout direktiba sshd_config-era gehitu da sshd kanalaren jarduerarik gabeko denbora-muga ezartzeko (zuzentarauan zehaztutako denboran trafikorik erregistratzen ez duten kanalak automatikoki itxiko dira). Denbora-muga desberdinak ezar daitezke saioa, X11, agente eta trafikoa birbideratzeko.
  • UnusedConnectionTimeout direktiba sshd_config-era gehitu da sshd-erako, denbora jakin batean kanal aktiborik gabe egon diren bezero-konexioak amaitzeko denbora-muga bat ezartzeko.
  • "-V" aukera gehitu da sshd-i bertsioa bistaratzeko, ssh bezeroaren antzeko aukeraren antzera.
  • "Ostalari" lerroa gehitu da "ssh -G" irteeran, ostalari-izenaren argumentuaren balioa islatuz.
  • "-X" aukera gehitu da scp eta sftp-i SFTP protokoloaren parametroak kontrolatzeko, hala nola kopia-bufferren tamaina eta zain dauden eskaera kopurua.
  • ssh-keyscan-ek CIDR helbide-barruti osoak eskaneatzeko aukera ematen du, adibidez "ssh-keyscan 192.168.0.0/24".

Iturria: opennet.ru

Gehitu iruzkin berria