U publikua versioni i OpenSSH 9.2, implementimi i hapur i klientit dhe serverit për funksionimin me protokollet SSH 2.0 dhe SFTP. Në këtë versions të ri është eliminuar një dobësi që shkakton lëshimin e dyfishtë të kujtesës në fazën para fillimit të autentifikimit. Vetëm versioni OpenSSH 9.1 është i prekshëm nga kjo dobësi, ndërsa në versionet e mëparshme problemi nuk shfaqet.
PĂ«r tĂ« krijuar kushte tĂ« shfaqjes sĂ« dobĂ«sisĂ«, mjafton tĂ« ndryshohet banneri i klientit SSH nĂ« «SSH-2.0-FuTTYSH_9.1p1» qĂ« tĂ« arrihen flagjet «SSH_BUG_CURVE25519PAD» dhe «SSH_OLD_DHGEX», tĂ« cilat varen nga versioni i klientit SSH. Pasi kĂ«to flagje janĂ« vendosur, kujtesa pĂ«r tamponin «options.kex_algorithms» lirohet dy herĂ« â kur ekzekutohet funksioni do_ssh2_kex(), i cili thĂ«rret compat_kex_proposal(), si dhe nĂ« funksionin do_authentication2(), i cili thĂ«rret rrjedhimisht input_userauth_request(), mm_getpwnamallow(), copy_set_server_options(), assemble_algorithms() dhe kex_assemble_names().
Krijimi i njĂ« eksploit tĂ« punueshĂ«m pĂ«r dobĂ«sinĂ« konsiderohet shumĂ« i pakĂ«t, pasi procesi i shfrytĂ«zimit Ă«shtĂ« tepĂ«r i komplikuar â bibliotekat moderne tĂ« menaxhimit tĂ« kujtesĂ«s ofrojnĂ« mbrojtje nga lĂ«shimi i dyfishtĂ« tĂ« kujtesĂ«s, dhe procesi pre-auth, nĂ« tĂ« cilin ndodhet gabimi, ekzekutohet me privilegje tĂ« ulura nĂ« njĂ« mjedis tĂ« izoluar sandbox.
Përveç dobësisë së përmendur, në këtë version janë eliminuar edhe dy probleme të tjera të sigurisë:
- Një gabim në përpunimin e cilësimit «PermitRemoteOpen», që shkakton injorimin e argumentit të parë nëse ai ndryshon nga vlerat «any» dhe «none». Problemi shfaqet në versionet më të reja se OpenSSH 8.7 dhe çon në kalimin e kontrollit kur tregohet vetëm një autorizim.
- Një sulmues që kontrollon serverin DNS të përdorur për caktimin e emrave mund të arrijë të futë karaktere speciale (p.sh., «*») në skedarët known_hosts, nëse në konfigurim janë aktivizuar opsionet CanonicalizeHostname dhe CanonicalizePermittedCNAMEs, dhe rezolva i sistemit nuk kontrollon saktësinë e përgjigjeve nga serveri DNS. Kryerja e sulmit konsiderohet e pamundur, pasi emrat e kthyer duhet të përputhen me kushtet e përcaktuara përmes CanonicalizePermittedCNAMEs.
Ndryshime të tjera:
- Në ssh_config për ssh është shtuar cilësimi EnableEscapeCommandline, i cili rregullon përfshirjen e përpunimit në anën e klientit të sekuencave të arratisjes "~C", që ofron një linjë komande. Në mënyrë të parazgjedhur, përpunimi i "~C" tani është i çaktivizuar për të përdorur një izolim më të fortë sandbox, i cili potencialisht mund të çojë në probleme për sistemet që përdorin "~C" për të ridrejtuar portet gjatë funksionimit.
- Në sshd_config për sshd është shtuar drejtorja ChannelTimeout për të caktuar kohën e skadimit të pasivitetit të kanalit (kanalet, në të cilat për një kohë të caktuar të caktuar nga drejtorja nuk ka trafik të regjistruar, do të mbyllen automatikisht). Për seancën, X11, agjentin dhe ridrejtimin e trafikut mund të përcaktohen kohëzgjatje të ndryshme të skadimit.
- Në sshd_config për sshd është shtuar drejtorja UnusedConnectionTimeout, e cila lejon caktimin e një kohëzgjatje për përfundimin e lidhjeve të klientëve, që kanë qenë pa kanale aktive për një kohë të caktuar.
- Në sshd është shtuar opsioni "-V" për të shfaqur versionin në përputhje me një opsion të ngjashëm në klientin ssh.
- Në daljen "ssh -G" është shtuar rreshti "Host", i cili pasqyron vlerën e argumentit me emrin e hostit.
- Në scp dhe sftp është shtuar opsioni "-X" për të menaxhuar parametrat e protokollet SFTP, siç janë madhësia e buffers së kopjimit dhe numri i kërkesave që presin për t'u përfunduar.
- Në ssh-keyscan është lejuar skanimi i gamave të plota të adresave CIDR, për shembull, "ssh-keyscan 192.168.0.0/24".
Burimi: opennet.ru
