OpenSSH 9.2 imetolewa ikiwa imerekebishwa kwa athari ya uthibitishaji wa mapema

Toleo la OpenSSH 9.2 limechapishwa, utekelezaji wazi wa mteja na seva kwa kufanya kazi kwa kutumia itifaki za SSH 2.0 na SFTP. Toleo jipya huondoa uwezekano wa kuathiriwa unaosababisha uondoaji wa kumbukumbu mara mbili katika hatua ya uthibitishaji wa awali. Toleo la OpenSSH 9.1 pekee ndilo limeathiriwa; tatizo halionekani katika matoleo ya awali.

Ili kuunda hali za udhihirisho wa athari, inatosha kubadilisha bango la mteja wa SSH hadi "SSH-2.0-FuTTYSH_9.1p1" ili kuweka bendera "SSH_BUG_CURVE25519PAD" na "SSH_OLD_DHGEX", ambayo inategemea toleo la SSH. mteja. Baada ya kuweka bendera hizi, kumbukumbu ya bafa ya "options.kex_algorithms" huachiliwa mara mbili - wakati wa kutekeleza kitendakazi cha do_ssh2_kex() kinachoita compat_kex_proposal(), na wakati wa kutekeleza kitendakazi cha do_authentication2(), ambacho huita input_userauth_request(), mm_getpwnamallow ), copy_set_server_options() pamoja na chain , assemble_algorithms() na kex_assemble_names().

Kuunda unyonyaji wa kufanya kazi kwa hatari hufikiriwa kuwa haiwezekani, kwa kuwa mchakato wa unyonyaji ni mgumu sana - maktaba za kisasa za ugawaji kumbukumbu hutoa ulinzi dhidi ya uwekaji huru wa kumbukumbu mara mbili, na mchakato wa uthibitishaji wa awali ambapo hitilafu iko huendeshwa na upendeleo mdogo katika eneo lililotengwa. mazingira ya sandbox.

Kando na athari iliyobainika, toleo jipya pia hurekebisha masuala mawili zaidi ya usalama:

  • Hitilafu ilitokea wakati wa kuchakata mpangilio wa "PermitRemoteOpen", na kusababisha hoja ya kwanza kupuuzwa ikiwa inatofautiana na maadili "yoyote" na "hakuna". Tatizo linaonekana katika matoleo mapya zaidi ya OpenSSH 8.7 na husababisha hundi kurukwa wakati ruhusa moja tu imeainishwa.
  • Mshambulizi anayedhibiti seva ya DNS inayotumiwa kutatua majina anaweza kufikia uingizwaji wa herufi maalum (kwa mfano, β€œ*”) katika faili za majeshi yanayojulikana ikiwa chaguzi za CanonicalizeHostname na CanonicalizePermittedCNAMEs zimewashwa katika usanidi, na kisuluhishi cha mfumo hakiangalii usahihi wa majibu kutoka kwa seva ya DNS. Shambulio linachukuliwa kuwa lisilowezekana kwa sababu majina yaliyorejeshwa lazima yalingane na masharti yaliyobainishwa kupitia CanonicalizePermittedCNAMEs.

Mabadiliko mengine:

  • Mipangilio ya EnableEscapeCommandline imeongezwa kwa ssh_config kwa ssh ili kudhibiti ikiwa uchakataji wa upande wa mteja wa "~C" mlolongo wa kutoroka ambao hutoa mstari wa amri umewashwa. Kwa chaguomsingi, ushughulikiaji wa "~C" sasa umezimwa ili kutumia utengaji wa kisanduku cha mchanga zaidi, uwezekano wa kuvunja mifumo inayotumia "~C" kwa usambazaji wa mlango wakati wa utekelezaji.
  • Maagizo ya ChannelTimeout yameongezwa kwa sshd_config kwa sshd ili kuweka muda wa kutotumika wa kituo (njia ambazo hakuna trafiki iliyorekodiwa kwa muda uliobainishwa katika maagizo itafungwa kiotomatiki). Muda tofauti wa kuisha unaweza kuwekwa kwa kipindi, X11, wakala, na uelekezaji kwingine wa trafiki.
  • Maagizo ya UnusedConnectionTimeout yameongezwa kwa sshd_config kwa sshd, kukuruhusu kuweka muda wa kuisha kwa kusitisha miunganisho ya mteja ambayo imekuwa bila chaneli amilifu kwa muda fulani.
  • Chaguo la "-V" limeongezwa kwa sshd ili kuonyesha toleo, sawa na chaguo sawa katika mteja wa ssh.
  • Aliongeza mstari "Mpangishi" kwa matokeo ya "ssh -G", inayoonyesha thamani ya hoja ya jina la mwenyeji.
  • Chaguo la "-X" limeongezwa kwa scp na sftp ili kudhibiti vigezo vya itifaki ya SFTP kama vile saizi ya akiba ya nakala na idadi ya maombi yanayosubiri.
  • ssh-keyscan huruhusu kuchanganua safu kamili za anwani za CIDR, kwa mfano "ssh-keyscan 192.168.0.0/24".

Chanzo: opennet.ru

Kuongeza maoni