OpenSSH 9.2 autentifikatsiyadan oldingi zaiflik uchun tuzatish bilan chiqarildi

OpenSSH 9.2 versiyasi e'lon qilindi, SSH 2.0 va SFTP protokollari yordamida ishlash uchun mijoz va serverning ochiq ilovasi. Yangi versiya autentifikatsiyadan oldingi bosqichda xotirani ikki marta bo'shatishga olib keladigan zaiflikni yo'q qiladi. Faqat OpenSSH 9.1 versiyasi ta'sir qiladi; muammo oldingi versiyalarda ko'rinmaydi.

Zaiflikning namoyon bo'lishi uchun sharoit yaratish uchun SSH versiyasiga bog'liq bo'lgan "SSH_BUG_CURVE2.0PAD" va "SSH_OLD_DHGEX" bayroqlarini o'rnatish uchun SSH mijoz bannerini "SSH-9.1-FuTTYSH_1p25519" ga o'zgartirish kifoya. mijoz. Ushbu bayroqlarni o'rnatgandan so'ng, "options.kex_algorithms" buferi uchun xotira ikki marta bo'shatiladi - compat_kex_proposal() deb nomlanuvchi do_ssh2_kex() funksiyasi bajarilganda va input_userauth_requep(na), mm_getw() ni chaqiruvchi do_authentication2() funksiyasi bajarilganda. ), zanjir bo'ylab copy_set_server_options() , assemble_algorithms() va kex_assemble_names().

Zaiflik uchun ishlaydigan ekspluatatsiyani yaratish dargumon deb hisoblanadi, chunki ekspluatatsiya jarayoni juda murakkab - zamonaviy xotira ajratish kutubxonalari xotirani ikki marta bo'shatishdan himoya qiladi va xato mavjud bo'lgan avtoulovdan oldingi jarayon izolyatsiya qilingan rejimda qisqartirilgan imtiyozlar bilan ishlaydi. sandbox muhiti.

Belgilangan zaiflikdan tashqari, yangi versiya yana ikkita xavfsizlik muammosini ham tuzatadi:

  • "PermitRemoteOpen" sozlamasini qayta ishlashda xatolik yuz berdi, bu esa birinchi argumentning "any" va "none" qiymatlaridan farq qilsa, e'tiborga olinmasligiga olib keldi. Muammo OpenSSH 8.7 dan yangi versiyalarda paydo bo'ladi va faqat bitta ruxsat ko'rsatilganda tekshirish o'tkazib yuborilishiga olib keladi.
  • Agar konfiguratsiyada CanonicalizeHostname va CanonicalizePermittedCNAMEs opsiyalari yoqilgan bo'lsa va tizimni hal qiluvchi qurilma to'g'riligini tekshirmasa, nomlarni hal qilish uchun foydalaniladigan DNS serverini boshqaruvchi buzg'unchi ma'lum_hosts fayllariga maxsus belgilarni (masalan, "*") almashtirishga erishishi mumkin. DNS serveridan javoblar. Hujum ehtimoli yo'q deb hisoblanadi, chunki qaytarilgan nomlar CanonicalizePermittedCNAMEs orqali ko'rsatilgan shartlarga mos kelishi kerak.

Boshqa o'zgarishlar:

  • EnableEscapeCommandline sozlamasi ssh uchun ssh_config ilovasiga buyruq qatorini ta'minlaydigan "~C" qochish ketma-ketligini mijoz tomonidan qayta ishlash yoqilganligini nazorat qilish uchun qo'shildi. Odatiy bo'lib, "~C" bilan ishlash endi qattiqroq sinovli muhit izolyatsiyasidan foydalanish uchun o'chirib qo'yilgan, bu esa ish vaqtida portni yo'naltirish uchun "~C" dan foydalanadigan tizimlarni buzishi mumkin.
  • ChannelTimeout direktivasi sshd_config for sshd ga kanalning harakatsizligi vaqtini belgilash uchun qo'shildi (direktivada ko'rsatilgan vaqt davomida hech qanday trafik qayd etilmagan kanallar avtomatik ravishda yopiladi). Seans, X11, agent va trafikni qayta yo'naltirish uchun turli xil kutish vaqti o'rnatilishi mumkin.
  • UnusedConnectionTimeout direktivasi sshd uchun sshd_config ga qo'shildi, bu sizga ma'lum vaqt davomida faol kanallarsiz bo'lgan mijoz ulanishlarini tugatish uchun kutish vaqtini belgilash imkonini beradi.
  • ssh mijozidagi o'xshash variantga o'xshash versiyani ko'rsatish uchun sshd-ga "-V" opsiyasi qo'shildi.
  • Xost nomi argumentining qiymatini aks ettiruvchi "ssh -G" chiqishiga "Xost" qatori qo'shildi.
  • Nusxa buferi hajmi va kutilayotgan so'rovlar soni kabi SFTP protokoli parametrlarini boshqarish uchun scp va sftp ga "-X" opsiyasi qo'shildi.
  • ssh-keyscan to'liq CIDR manzil diapazonlarini skanerlash imkonini beradi, masalan, "ssh-keyscan 192.168.0.0/24".

Manba: opennet.ru

a Izoh qo'shish