OpenSSH 9.2 алдын ала аутентификация осалдығын түзетумен шығарылды

OpenSSH 9.2 шығарылымы, SSH 2.0 және SFTP хаттамалары арқылы жұмыс істеуге арналған клиент пен сервердің ашық іске асырылуы жарияланды. Жаңа нұсқа аутентификацияға дейінгі кезеңде жадты екі есе босатуға әкелетін осалдықты жояды. Тек OpenSSH 9.1 шығарылымы әсер етеді, мәселе бұрынғы нұсқаларда пайда болмайды.

Осалдықтың көрінуіне жағдай жасау үшін SSH нұсқасына тәуелді «SSH_BUG_CURVE2.0PAD» және «SSH_OLD_DHGEX» жалаушаларын орнату үшін SSH клиент баннерін «SSH-9.1-FuTTYSH_1p25519» етіп өзгерту жеткілікті. клиент. Бұл жалаушаларды орнатқаннан кейін, «options.kex_algorithms» буферінің жады екі рет босатылады - compat_kex_proposal() деп атайтын do_ssh2_kex() функциясын орындау кезінде және input_userauth_requep(mal), mm_getw () шақыратын do_authentication2() функциясын орындау кезінде. ), тізбек бойынша copy_set_server_options() , assemble_algorithms() және kex_assemble_names().

Осалдық үшін жұмыс істейтін эксплойт жасау екіталай деп саналады, өйткені пайдалану процесі тым күрделі - жадты бөлудің заманауи кітапханалары жадты екі рет босатудан қорғауды қамтамасыз етеді, ал қате бар алдын ала аутентификация процесі оқшауланған жерде азайтылған артықшылықтармен жұмыс істейді. құмсалғыш ортасы.

Белгіленген осалдықпен қатар, жаңа шығарылым тағы екі қауіпсіздік мәселесін түзетеді:

  • "PermitRemoteOpen" параметрін өңдеу кезінде қате орын алды, егер ол "кез келген" және "жоқ" мәндерінен өзгеше болса, бірінші аргумент еленбейді. Мәселе OpenSSH 8.7 нұсқасынан жаңарақ нұсқаларда пайда болады және тек бір рұқсат көрсетілген кезде тексеруді өткізіп жіберуге әкеледі.
  • Атауларды шешу үшін пайдаланылатын DNS серверін басқаратын шабуылдаушы конфигурацияда CanonicalizeHostname және CanonicalizePermittedCNAMEs опциялары қосылған болса және жүйені шешуші дұрыстығын тексермесе, белгілі_хосттар файлдарына арнайы таңбаларды (мысалы, «*») ауыстыруға қол жеткізе алады. DNS серверінен жауаптар. Қайтарылған атаулар CanonicalizePermittedCNAMEs арқылы көрсетілген шарттарға сәйкес келуі керек болғандықтан, шабуыл ықтимал емес деп саналады.

Басқа өзгерістер:

  • EnableEscapeCommandline параметрі пәрмен жолын қамтамасыз ететін "~C" шығу тізбегінің клиенттік өңдеуі қосылған-қосылмағанын бақылау үшін ssh үшін ssh_config параметріне қосылды. Әдепкі бойынша, "~C" өңдеу енді жұмыс уақытында портты қайта жіберу үшін "~C" қолданатын жүйелерді бұзуы мүмкін, құм жәшігінің қатаң оқшаулауын пайдалану үшін өшірілген.
  • ChannelTimeout директивасы арнаның әрекетсіздігі күту уақытын орнату үшін sshd_config for sshd параметріне қосылды (директивада көрсетілген уақыт ішінде трафик жазылмаған арналар автоматты түрде жабылады). Сеанс, X11, агент және трафикті қайта бағыттау үшін әртүрлі күту уақыттарын орнатуға болады.
  • UnusedConnectionTimeout директивасы sshd үшін sshd_config ішіне қосылды, бұл белгілі бір уақыт бойы белсенді арналарсыз болған клиенттік қосылымдарды тоқтату үшін күту уақытын орнатуға мүмкіндік береді.
  • ssh клиентіндегі ұқсас опцияға ұқсас нұсқаны көрсету үшін sshd файлына «-V» опциясы қосылды.
  • Хост атауы аргументінің мәнін көрсететін «ssh -G» шығысына «Хост» жолы қосылды.
  • Көшірме буферінің өлшемі және күтудегі сұраулар саны сияқты SFTP протоколының параметрлерін басқару үшін scp және sftp файлдарына "-X" опциясы қосылды.
  • ssh-keyscan толық CIDR мекенжай ауқымдарын сканерлеуге мүмкіндік береді, мысалы, "ssh-keyscan 192.168.0.0/24".

Ақпарат көзі: opennet.ru

пікір қалдыру