Nisja e versioni i ri i zbatimit të hapur të klientit dhe serverit për të punuar me protokollet SSH 2.0 dhe SFTP, "OpenSSH 9.2".
Versioni i ri rregullon një cenueshmëri, e cila çon në lirimin e dyfishtë të një zone memorie në fazën e para-autentifikimit. cenueshmëria ndikon vetëm në lëshimin e OpenSSH 9.1, në versionet e mëparshme problemi nuk shfaqet.
Për të krijuar kushte për shfaqjen e një cenueshmërie, mjafton të ndryshoni banerin e klientit SSH në "SSH-2.0-FuTTYSH_9.1p1" për të arritur konfigurimin e flamujve "SSH_BUG_CURVE25519PAD" dhe "SSH_OLD_DHGEX", në varësi të versionit. të klientit SSH.
Pas vendosjes së këtyre flamujve, memoria për buferin "options.kex_algorithms" lirohet dy herë: duke ekzekutuar funksionin do_ssh2_kex(), i cili thërret compat_kex_proposal(), dhe duke ekzekutuar funksionin do_authentication2(), i cili thërret input_userauth_requestp() ), copy_set_server_options() përgjatë zinxhirit, ensemble_algorithms() dhe kex_assemble_names().
Konsiderohet e pamundur të krijohet një shfrytëzim pune për cenueshmërinë, meqenëse procesi i shfrytëzimit është shumë i ndërlikuar: bibliotekat moderne të alokimit të memories ofrojnë mbrojtje kundër çlirimit të dyfishtë të memories dhe procesi i para-autentifikimit, në të cilin ka një gabim, funksionon me privilegje të reduktuara në një sandbox.
Përveç dobësisë së përmendur, versioni i ri rregullon edhe dy çështje të tjera sigurie:
- Ndodhi një gabim gjatë përpunimit të cilësimit "PermitRemoteOpen", i cili bëri që argumenti i parë të shpërfillej nëse është i ndryshëm nga vlerat "çdo" dhe "asnjë". Problemi shfaqet në versionet pas OpenSSH 8.7 dhe bën që kontrolli të anashkalohet kur specifikohet vetëm një leje.
- Një sulmues që kontrollon serverin DNS të përdorur për të zgjidhur emrat mund të arrijë zëvendësimin e karaktereve speciale (për shembull, "*") në skedarët e hosteve të njohur nëse opsionet CanonicalizeHostname dhe CanonicalizePermittedCNAMEs janë aktivizuar në konfigurim dhe zgjidhësi nuk verifikon korrigjimin e DNS përgjigjet e serverit. Sulmi konsiderohet se nuk ka gjasa të ketë sukses pasi emrat e kthyer duhet të përputhen me kushtet e specifikuara nëpërmjet CanonicalizePermittedCNAME.
Çfarë ka të re në OpenSSH 9.2
Nga ndryshimet që janë bërë në OpenSSH 9.2 bie në sy se shtoi një konfigurimnë EnableEscapeCommandline a ssh_config për të kontrolluar nëse procesimi nga ana e klientit të sekuencës së ikjes "~C" sa herë që aktivizohet linja e komandës. Si parazgjedhje, përpunimi "~C" tani është i çaktivizuar për të lejuar një sandbox më të rreptë, i cili mund të prishë sistemet që përdorin "~C" për përcjelljen e portit në kohën e ekzekutimit
Ka qene shtoi direktivën ChannelTimeout te sshd_config për sshd për të vendosur kohën e skadimit të kanalit (Kanalet në të cilat nuk është zbuluar trafik për kohën e specifikuar në politikë do të mbyllen automatikisht.) Trafiku i sesionit, X11, agjentit dhe ridrejtimit mund të kenë afate të ndryshme.
Të ndryshime të tjera:
- U shtua një direktivë UnusedConnectionTimeout në sshd_config për sshd, e cila ju lejon të vendosni një afat kohor për përfundimin e lidhjeve nga klientët që nuk kanë pasur kanale aktive për një kohë të caktuar.
- Shtoi opsionin "-V" në sshd për të shfaqur një version të ngjashëm me opsionin e klientit ssh.
- Shtoi vargun "host" në daljen e "ssh -G" për të pasqyruar vlerën e argumentit të emrit të hostit.
- U shtua opsioni "-X" në scp dhe sftp për të kontrolluar parametrat SFTP si madhësia e tamponit të kopjimit dhe numri i kërkesave në pritje.
- ssh-keyscan ju lejon të skanoni vargje të tëra adresash CIDR, për shembull, "ssh-keyscan 192.168.0.0/24".
Më në fund nëse jeni të interesuar të dini më shumë për të në lidhje me këtë version të ri, mund të kontrolloni detajet duke shkuar në lidhjen e mëposhtme.
Si të instaloni OpenSSH 9.2 në Linux?
Për ata që janë të interesuar të jenë në gjendje të instalojnë këtë version të ri të OpenSSH në sistemet e tyre, tani për tani ata mund ta bëjnë atë duke shkarkuar kodin burimor të kësaj dhe duke kryer përpilimin në kompjuterët e tyre.
Kjo sepse versioni i ri nuk është përfshirë ende në depot e shpërndarjeve kryesore të Linux. Për të marrë kodin burimor, mund të bëni nga lidhja tjetër.
Shkarkimi u krye, tani do të zbërthejmë paketën me komandën e mëposhtme:
tar -xvf openssh-9.2.tar.gz
Ne hyjmë në drejtorinë e krijuar:
cd openssh-9.2
Y mund të përpilojmë me komandat e mëposhtme:
./configure --prefix=/opt --sysconfdir=/etc/ssh make make install
"Me ngut?"…
Epo, unë i nxjerr ato, hehe.
Faleminderit për vëzhgimin.