OpenSSH 9.2 izdan s popravkom za ranljivost pred preverjanjem pristnosti

Objavljena je bila izdaja OpenSSH 9.2, odprte izvedbe odjemalca in strežnika za delo s protokoloma SSH 2.0 in SFTP. Nova različica odpravlja ranljivost, ki povzroči dvojno sprostitev pomnilnika v fazi pred avtentifikacijo. Prizadeta je le izdaja OpenSSH 9.1; težava se ne pojavi v starejših različicah.

Za ustvarjanje pogojev za manifestacijo ranljivosti je dovolj, da pasico odjemalca SSH spremenite v »SSH-2.0-FuTTYSH_9.1p1«, da nastavite zastavice »SSH_BUG_CURVE25519PAD« in »SSH_OLD_DHGEX«, ki sta odvisni od različice SSH. stranka. Po nastavitvi teh zastavic se pomnilnik za vmesni pomnilnik »options.kex_algorithms« sprosti dvakrat – pri izvajanju funkcije do_ssh2_kex(), ki kliče compat_kex_proposal(), in pri izvajanju funkcije do_authentication2(), ki kliče input_userauth_request(), mm_getpwnamallow( ), copy_set_server_options() vzdolž verige , assemble_algorithms() in kex_assemble_names().

Ustvarjanje delujočega izkoriščanja za ranljivost je malo verjetno, saj je postopek izkoriščanja preveč zapleten – sodobne knjižnice za dodeljevanje pomnilnika zagotavljajo zaščito pred dvojnim sproščanjem pomnilnika, postopek pred avtorizacijo, v katerem je prisotna napaka, pa teče z zmanjšanimi pravicami v izoliranem prostoru. okolje peskovnika.

Poleg omenjene ranljivosti nova izdaja odpravlja še dve varnostni težavi:

  • Pri obdelavi nastavitve »PermitRemoteOpen« je prišlo do napake, zaradi česar je bil prvi argument prezrt, če se razlikuje od vrednosti »any« in »none«. Težava se pojavi v različicah, novejših od OpenSSH 8.7, in povzroči preskok preverjanja, ko je navedeno samo eno dovoljenje.
  • Napadalec, ki nadzoruje strežnik DNS, ki se uporablja za razreševanje imen, lahko doseže zamenjavo posebnih znakov (na primer »*«) v datotekah unknown_hosts, če sta v konfiguraciji omogočeni možnosti CanonicalizeHostname in CanonicalizePermittedCNAMEs in sistemski razreševalec ne preveri pravilnosti odzive strežnika DNS. Napad se šteje za malo verjetnega, ker se morajo vrnjena imena ujemati s pogoji, določenimi s CanonicalizePermittedCNAMEs.

Druge spremembe:

  • V ssh_config za ssh je bila dodana nastavitev EnableEscapeCommandline za nadzor, ali je omogočena obdelava ubežnega zaporedja »~C« na strani odjemalca, ki zagotavlja ukazno vrstico. Privzeto je obravnava »~C« zdaj onemogočena za uporabo tesnejše izolacije peskovnika, kar lahko pokvari sisteme, ki uporabljajo »~C« za posredovanje vrat med izvajanjem.
  • Direktiva ChannelTimeout je bila dodana v sshd_config za sshd za nastavitev časovne omejitve nedejavnosti kanala (kanali, v katerih ni zabeležen promet v času, določenem v direktivi, bodo samodejno zaprti). Nastavite lahko različne časovne omejitve za sejo, X11, agenta in preusmeritev prometa.
  • Direktiva UnusedConnectionTimeout je bila dodana v sshd_config za sshd, kar vam omogoča, da nastavite časovno omejitev za prekinitev povezav odjemalcev, ki so bili določen čas brez aktivnih kanalov.
  • Možnost »-V« je bila dodana v sshd za prikaz različice, podobno podobni možnosti v odjemalcu ssh.
  • Izhodu »ssh -G« je dodana vrstica »Host«, ki odraža vrednost argumenta imena gostitelja.
  • Možnost "-X" je bila dodana v scp in sftp za nadzor parametrov protokola SFTP, kot sta velikost medpomnilnika za kopiranje in število čakajočih zahtev.
  • ssh-keyscan omogoča skeniranje celotnih obsegov naslovov CIDR, na primer "ssh-keyscan 192.168.0.0/24".

Vir: opennet.ru

Dodaj komentar