Éskalasi hak istimewa OpenBSD sareng kerentanan bypass auténtikasi dina smtpd, ldapd sareng radiusd

Perusahaan Qualys diungkabkeun opat vulnerabilities dina OpenBSD, salah sahiji nu ngidinan Anjeun pikeun jarak jauh nyambung tanpa auténtikasi ka sababaraha layanan jaringan, sarta tilu séjén ngaronjatkeun hak husus anjeun dina sistem. Laporan Qualys nyatet réspon gancang para pamekar OpenBSD - sadaya masalah éta ngaleungitkeun в OpenBSD 6.5 и OpenBSD 6.6 dina 40 jam sanggeus bewara swasta.

Kerentanan jarak jauh anu tiasa dieksploitasi disababkeun ku kasalahan dina nelepon panangan auténtikasi dina perpustakaan libc, anu nelepon
program /usr/libexec/auth/login_style ngalirkeun argumen dina garis paréntah. Kaasup nalika nelepon login_style ngagunakeun parameter pilihan "-s jasa", kasebut nyaéta dimungkinkeun pikeun mindahkeun nami protokol. Upami anjeun nganggo karakter "-" dina awal nami pangguna, nami ieu bakal dianggap salaku pilihan nalika ngajalankeun login_style. Sasuai, upami anjeun netepkeun "-schallenge" atanapi "-schallenge: passwd" salaku nami pangguna salami auténtikasi, maka login_style bakal nganggap pamundut éta salaku pamenta pikeun ngagunakeun pawang. S/Konci.

Masalahna nyaeta S / protokol konci dina login_style dirojong ngan formal, tapi sabenerna dipaliré jeung kaluaran tanda auténtikasi suksés. Janten, panyerang tiasa, ku nyamar salaku pangguna "-challenge", ngalangkungan auténtikasi sareng kéngingkeun aksés tanpa masihan kecap konci atanapi konci. Sadaya jasa jaringan anu nganggo sauran libc standar pikeun auténtikasi berpotensi kapangaruhan ku masalah. Salaku conto, kamampuan pikeun ngaliwat auténtikasi dirojong dina smtpd (AUTH PLAIN), ldapd sareng radiusd.

Kerentanan henteu muncul dina sshd, sabab gaduh panyalindungan tambahan anu mariksa ayana pangguna dina sistem. Nanging, sshd tiasa dianggo pikeun nguji kerentanan sistem - nalika ngaksés nami pangguna "-sresponse: passwd", sambunganna ngagantung, sabab sshd ngantosan login_passwd mulangkeun parameter tantangan, sareng login_passwd ngantosan parameter anu leungit. dikirim (ngaran "- sresponse" diperlakukeun salaku hiji pilihan). Panyerang lokal berpotensi nyobian ngaliwat auténtikasi dina utilitas su, tapi ngalangkungan nami "-sresponse" nyababkeun prosésna ngadat ku ngabalikeun pointer null nalika ngajalankeun fungsi getpwnam_r("-schallenge", ...).

Kerentanan séjén:

  • CVE-2019-19520 Escalation hak husus lokal ngaliwatan manipulasi tina utilitas xlock disadiakeun kalawan bandéra sgid ngarobah grup kana "auth". Dina kode xlock, ngadefinisikeun deui jalur ka perpustakaan dilarang ngan nalika idéntifikasi pangguna (setuid) dirobih, anu ngamungkinkeun panyerang ngarobih variabel lingkungan "LIBGL_DRIVERS_PATH" sareng ngatur muatkeun perpustakaan anu dibagikeun na, kodeu anu bakal dieksekusi. sanggeus raising hak husus ka grup "auth".
  • CVE-2019-19522 - Ngidinan pamaké lokal anu mangrupa anggota grup "auth" ngajalankeun kode salaku root nalika S / Key atanapi auténtikasi YubiKey diaktipkeun dina sistem (henteu aktif sacara standar). Ngagabung ka grup "auth", nu bisa diakses ku exploiting kerentanan luhur-disebutkeun dina xlock, ngidinan Anjeun pikeun nulis file ka /etc/skey jeung /var/db/yubikey directories. Salaku conto, panyerang tiasa nambihan file anyar /etc/skey/root pikeun ngahasilkeun konci sakali-waktos pikeun auténtikasi salaku pangguna root via S/Key.
  • CVE-2019-19519 - kamungkinan ningkatkeun wates sumberdaya ngaliwatan manipulasi utiliti su. Nalika pilihan "-L" dieusian, nu ngabalukarkeun auténtikasi usaha ulang cyclically lamun gagal, kelas pamaké diatur ngan sakali tur teu ngareset dina usaha salajengna. Panyerang tiasa ngaéksekusi "su -l -L" dina usaha anu munggaran pikeun ngasupkeun login batur ku kelas akun anu béda, tapi dina usaha kadua anjeunna tiasa suksés nga-asténtikasi salaku dirina. Dina kaayaan ieu, pamaké bakal tunduk kana wates dumasar kana kelas pamaké dieusian dina usaha munggaran (Contona, jumlah maksimum prosés atawa ukuran memori pikeun prosés a). Metoda ngan lumaku pikeun wates injeuman ti pamaké unprivileged, saprak pamaké root kudu dina grup roda).

Sajaba ti éta, bisa dicatet palaksanaan dina OpenBSD, métode anyar pikeun mariksa validitas telepon sistem, nu salajengna complicates eksploitasi vulnerabilities. Metoda ieu ngamungkinkeun sauran sistem dieksekusi ngan upami aranjeunna diaksés tina daérah mémori anu kadaptar sateuacana. Pikeun nyirian wewengkon memori diajukeun panggero sistem anyar msyscall().

sumber: opennet.ru