Kerentanan dikenal pasti dalam GDM

Penyelidik keselamatan oleh GitHub menjadikannya diketahui baru-baru ini anda telah mengenal pasti kelemahan (CVE-2020-16125) di GNOME Display Manager (GDM), yang bertanggung jawab untuk memaparkan skrin masuk.

Digabungkan dengan kelemahan lain dalam perkhidmatan penjejakan akaun (akaun-daemon), masalahnya membolehkan kod berjalan sebagai root.  Kerentanan dikaitkan dengan pelancaran utiliti konfigurasi awal yang salah sekiranya mustahil untuk mengakses perkhidmatan daemon akaun melalui DBus.

Mengenai kerentanan

Pengguna yang tidak mempunyai hak dapat merosakkan proses akaun-daemon atau tutup, apa yang akan mewujudkan keadaan agar utiliti persediaan awal gnome dijalankan dari GDM, di mana pengguna baru dapat mendaftar sebagai ahli kumpulan sudo, iaitu, memiliki kemampuan untuk menjalankan program sebagai root.

seperti biasa, GDM memanggil gnome-initial-setup untuk menetapkan pengguna pertama sekiranya tidak ada akaun dalam sistem. Pengesahan kewujudan akaun dilakukan dengan menghubungi akaun-daemon. Sekiranya proses yang ditentukan gagal, GDM menganggap akaun hilang dan memulakan proses konfigurasi awal.

Penyelidik mengenal pasti dua cara untuk mengganggu proses akaun daemon- Yang pertama (CVE-2020-16126) disebabkan oleh kesalahan menetapkan semula hak istimewa dan kesalahan kedua (CVE-2020-16127) semasa memproses fail ".pam_environment".

Selain itu, kelemahan lain dijumpai dalam akaun daemon (CVE-2018-14036) disebabkan oleh pemeriksaan laluan fail yang salah dan membenarkan kandungan fail sewenang-wenangnya dibaca di sistem.

Kerentanan dalam akaun-daemon disebabkan oleh perubahan yang dibuat oleh pembangun Ubuntu dan tidak muncul dalam akaun utama-kod daemon projek FreeDesktop dan pakej Debian.

Masalah CVE-2020-16127 hadir dalam tambalan yang ditambahkan di Ubuntu yang menerapkan fungsi is_in_pam_environment, yang membaca isi fail .pam_environment dari direktori beranda pengguna. Sekiranya anda meletakkan pautan simbolik ke / dev / zero sebagai ganti fail ini, proses daemon akaun tergantung pada operasi baca yang tidak terbatas dan berhenti menjawab permintaan melalui DBus.

Adalah tidak biasa kerentanan dalam sistem operasi moden begitu mudah dieksploitasi. Pada beberapa kesempatan, saya telah menulis ribuan baris kod untuk mengeksploitasi kerentanan. 

Sebilangan besar eksploitasi moden melibatkan trik rumit, seperti menggunakan kerentanan kerosakan memori untuk menipu objek palsu di timbunan, atau mengganti fail dengan symlink ke ketepatan mikrodetik untuk mengeksploitasi kerentanan TOCTOU. 

Sehingga hari ini, jarang sekali terdapat kelemahan yang tidak memerlukan kemahiran pengkodan untuk dieksploitasi. Saya juga berpendapat kerentanan itu mudah difahami, walaupun anda tidak mempunyai pengetahuan sebelumnya tentang bagaimana Ubuntu berfungsi atau berpengalaman dalam penyelidikan keselamatan.

Kerentanan CVE-2020-16126 disebabkan oleh tambalan lain yang menetapkan semula hak pengguna semasa semasa memproses beberapa panggilan DBus (contohnya, org.freedesktop.Accounts.User.SetLanguage).

Proses daemon akaun berjalan seperti root, yang menghalang pengguna biasa menghantar isyarat.

Tetapi terima kasih kepada patch yang ditambahkan, keistimewaan proses boleh ditetapkan semula dan pengguna boleh menamatkan proses ini dengan menghantar isyarat. Untuk melakukan serangan, cukup buat syarat untuk menghapus hak istimewa (RUID) dan hantarkan isyarat SIGSEGV atau SIGSTOP ke proses daemon akaun.

Pengguna mengakhiri sesi grafik dan pergi ke konsol teks (Ctrl-Alt-F1).
Setelah sesi grafik berakhir, GDM cuba memaparkan skrin log masuk, tetapi tergantung ketika cuba mendapatkan respons dari daemon akaun.

Isyarat SIGSEGV dan SIGCONT dihantar dari konsol ke proses daemon akaun, menyebabkan ia tergantung.

Anda juga boleh menghantar isyarat sebelum keluar dari sesi grafik, tetapi anda mesti melakukannya dengan kelewatan untuk mempunyai masa untuk menyelesaikan sesi dan sebelum isyarat dihantar GDM mempunyai masa untuk memulakan.

Permintaan ke daemon akaun di GDM gagal dan GDM memanggil utiliti persediaan awal-gnome, di antaranya cukup untuk membuat akaun baru.

Kerentanan diperbaiki di GNOME 3.36.2 dan 3.38.2. Eksploitasi kerentanan telah disahkan di Ubuntu dan turunannya.

Fuente: https://securitylab.github.com


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.