Beberapa kerentanan ditemukan di pengelola hotkey Wayland

Beberapa hari yang lalu tersiar kabar bahwa sejumlah kerentanan ditemukan di swhkd (Simple Wayland HotKey Daemon) yang disebabkan oleh penanganan file sementara yang salah, opsi baris perintah, dan soket unix.

Program ini ditulis dalam Rust dan menangani hotkey di lingkungan berdasarkan protokol Wayland (analog yang kompatibel dengan file konfigurasi dari proses sxhkd yang digunakan di lingkungan berbasis X11). Paket tersebut mencakup proses swhks yang tidak memiliki hak yang melakukan tindakan untuk hotkey dan proses latar belakang swhkd yang berjalan sebagai root dan berinteraksi dengan perangkat input di tingkat API uinput. Untuk mengatur interaksi antara swhks dan swhkd, soket Unix digunakan.

Aturan Polkit memungkinkan setiap pengguna lokal untuk menjalankan proses /usr/bin/swhkd sebagai root dan memberikan parameter arbitrer ke sana.

Integrasi paket RPM diajukan untuk openSUSE Tumbleweed berisi aturan Polkit yang tidak biasa di file definisi yang memerlukan tinjauan oleh tim keamanan SUSE.

Sebagai hasil dari tinjauan, beberapa masalah keamanan diidentifikasi. Masalah individu dijelaskan dalam laporan terperinci di bawah ini.

Dari kerentanan yang diidentifikasi, berikut ini disebutkan:

CVE-2022-27815

Kerentanan ini memungkinkan untuk menyimpan PID proses dalam file dengan nama yang dapat diprediksi dan dalam direktori yang dapat ditulis untuk pengguna lain (/tmp/swhkd.pid), di mana setiap pengguna dapat membuat file /tmp/swhkd.pid dan memasukkan pid dari proses yang ada ke dalamnya, yang akan membuat tidak mungkin memulai swhkd.

Dengan tidak adanya perlindungan terhadap pembuatan tautan simbolik di /tmp, kerentanan dapat digunakan untuk membuat atau menimpa file di direktori mana pun di sistem (PID ditulis ke file) atau menentukan konten file apa pun di sistem (swhkd mengeluarkan seluruh konten file PID ke stdout). Perlu dicatat bahwa dalam perbaikan yang dirilis, file PID tidak dipindahkan ke direktori /run, tetapi ke direktori /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), yang juga bukan tempatnya .

CVE-2022-27814

Kerentanan ini memungkinkan Anda untuk memanipulasi opsi baris perintah "-c" untuk menentukan file konfigurasi dapat menentukan keberadaan file apa pun di sistem.

Seperti dalam kasus kerentanan pertama, memperbaiki masalah membingungkan: memperbaiki masalah bermuara pada fakta bahwa utilitas "cat" eksternal ('Command::new("/bin/cat").arg(path) adalah sekarang diluncurkan untuk membaca file konfigurasi.output()').

CVE-2022-27819

Masalah ini itu juga terkait dengan penggunaan opsi "-c", yang memuat dan mem-parsing seluruh file konfigurasi tanpa memeriksa ukuran dan jenis file.

Misalnya, untuk menyebabkan penolakan layanan karena kehabisan memori kosong dan membuat I/O liar, Anda dapat menentukan perangkat blok saat startup ("pkexec /usr/bin/swhkd -d -c /dev/sda ») atau perangkat karakter yang memancarkan aliran data tak terbatas.

Masalah diselesaikan dengan mengatur ulang hak istimewa sebelum membuka file, tetapi solusinya tidak selesai karena hanya ID Pengguna (UID) yang diatur ulang, tetapi ID Grup (GID) tetap sama.

CVE-2022-27818

Kerentanan ini memungkinkan Anda menggunakan file /tmp/swhkd.sock untuk membuat soket Unix, yang dibuat di direktori publik yang dapat ditulis, menyebabkan masalah serupa dengan kerentanan pertama (setiap pengguna dapat membuat /tmp/swhkd.sock dan menghasilkan atau mencegat peristiwa penekanan tombol).

CVE-2022-27817

Dalam kerentanan ini, acara masukan diterima dari semua perangkat dan di semua sesi, yaitu, pengguna di sesi Wayland atau konsol lain dapat mencegat peristiwa saat pengguna lain menekan tombol pintas.

CVE-2022-27816

Proses swhks, seperti swhkd, menggunakan file PID /tmp/swhks.pid di direktori /tmp yang dapat ditulis secara publik. Masalahnya mirip dengan kerentanan pertama, tetapi tidak berbahaya, karena swhks berjalan di bawah pengguna yang tidak memiliki hak istimewa.

Terakhir, jika Anda tertarik untuk mengetahuinya lebih lanjut, Anda dapat berkonsultasi dengan detail di link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.