Kerentanan ing swhkd, manajer trabasan kanggo Wayland

A seri saka kerentanan wis dikenali ing swhkd (Simple Wayland HotKey Daemon) disebabake karya salah karo file sauntara, paramèter baris printah lan soket Unix. Program iki ditulis ing Rust lan nangani hotkey mencet ing lingkungan adhedhasar protokol Wayland (analog konfigurasi-file-kompatibel saka proses sxhkd digunakake ing lingkungan basis X11).

Paket kalebu proses swhks unprivileged sing nindakake tumindak hotkey, lan proses swhkd latar mburi sing mlaku minangka ROOT lan sesambungan karo piranti input ing tingkat API uinput. Soket Unix digunakake kanggo ngatur interaksi antarane swhks lan swhkd. Nggunakake aturan Polkit, sembarang pangguna lokal bisa mbukak / usr / bin / proses swhkd minangka ROOT lan pass parameter sembarang.

Kerentanan sing diidentifikasi:

  • CVE-2022-27815 - Nyimpen proses PID menyang file kanthi jeneng sing bisa ditebak lan ing direktori sing bisa ditulis dening pangguna liyane (/tmp/swhkd.pid). Sembarang pangguna bisa nggawe file /tmp/swhkd.pid lan sijine pid proses ana ing, kang bakal nggawe swhkd ora bisa miwiti. Yen ora ana proteksi kanggo nggawe pranala simbolis ing /tmp, kerentanan bisa digunakake kanggo nggawe utawa nimpa file ing direktori sistem (PID ditulis ing file) utawa nemtokake isi file apa wae ing sistem kasebut (swhkd nyithak file kasebut). kabeh isi file PID menyang stdout). Wigati dicathet yen ing fix dirilis, file PID dipindhah ora menyang direktori / run, nanging menyang direktori / etc (/etc/swhkd/runtime/swhkd_{uid}.pid), ing ngendi uga ora ana.
  • CVE-2022-27814 - Kanthi manipulasi pilihan baris printah "-c" sing digunakake kanggo nemtokake file konfigurasi, sampeyan bisa nemtokake manawa ana file ing sistem kasebut. Contone, kanggo mriksa /root/.somefile sampeyan bisa mbukak "pkexec /usr/bin/swhkd -d -c /root/.somefile" lan yen file ilang, kesalahan "/root/.somefile ora ana. ” bakal ditampilake. Kaya ing kasus kerentanan pisanan, mbenakake masalah dadi mbingungake - mbenakake masalah kasebut dadi kasunyatan manawa utilitas eksternal "kucing" ('Command :: new("/bin/cat")).arg(path) saiki dibukak kanggo maca file konfigurasi output()').
  • CVE-2022-27819 - Masalah kasebut uga ana gandhengane karo panggunaan pilihan "-c", sing nyebabake kabeh file konfigurasi dimuat lan diurai tanpa mriksa ukuran lan jinis file. Contone, kanggo nyebabake penolakan layanan kanthi kehabisan memori gratis lan nggawe I/O palsu, sampeyan bisa nemtokake piranti pamblokiran nalika wiwitan ("pkexec /usr/bin/swhkd -d -c /dev/sda") utawa piranti karakter sing ngasilake aliran data tanpa wates. Masalah iki ditanggulangi kanthi ngreset hak istimewa sadurunge mbukak file, nanging fix ora rampung, amarga mung ID pangguna (UID) sing direset, nanging ID grup (GID) tetep padha.
  • CVE-2022-27818 - Soket Unix digawe nggunakake file /tmp/swhkd.sock sing digawe ing direktori sing bisa ditulis, sing nyebabake masalah sing padha karo kerentanan pisanan (saben pangguna bisa nggawe /tmp/swhkd.sock lan ngasilake utawa nyegat. acara keypress).
  • CVE-2022-27817 - Acara input ditampa saka kabeh piranti lan ing kabeh sesi, yaiku. pangguna saka sesi Wayland liyane utawa saka console bisa nyegat acara nalika hotkeys dipencet dening pangguna liyane.
  • CVE-2022-27816 Proses swhks, kaya swhkd, nggunakake file PID /tmp/swhks.pid ing direktori /tmp sing bisa ditulis. Masalahe padha karo kerentanan pisanan, nanging ora mbebayani amarga swhks mlaku ing pangguna sing ora duwe hak istimewa.

Source: opennet.ru

Add a comment