Awọn ailagbara ni swhkd, oluṣakoso ọna abuja fun Wayland

A ti ṣe idanimọ lẹsẹsẹ awọn ailagbara ni swhkd (Simple Wayland HotKey Daemon) ti o fa nipasẹ iṣẹ ti ko tọ pẹlu awọn faili igba diẹ, awọn aye laini aṣẹ ati awọn sockets Unix. Eto naa jẹ kikọ ni Rust ati mimu titẹ bọtini hotkey ni awọn agbegbe ti o da lori Ilana Wayland (afọwọṣe atunto-faili-ibaramu ti ilana sxhkd ti a lo ni awọn agbegbe orisun X11).

Apo naa pẹlu ilana swhks ti ko ni anfani ti o ṣe awọn iṣe hotkey, ati ilana swhkd lẹhin ti o nṣiṣẹ bi gbongbo ati ibaraenisepo pẹlu awọn ẹrọ igbewọle ni ipele API uinput. Soketi Unix kan ni a lo lati ṣeto ibaraenisepo laarin swhks ati swhkd. Lilo awọn ofin Polkit, olumulo agbegbe eyikeyi le ṣiṣe ilana / usr/bin/swkd bi gbongbo ati ki o kọja awọn aye lainidii si rẹ.

Awọn ailagbara ti idanimọ:

  • CVE-2022-27815 - Fifipamọ ilana PID si faili kan pẹlu orukọ asọtẹlẹ ati ninu itọsọna ti o jẹ kikọ nipasẹ awọn olumulo miiran (/tmp/swhkd.pid). Olumulo eyikeyi le ṣẹda faili /tmp/swhkd.pid ki o fi pid ti ilana ti o wa ninu rẹ, eyiti yoo jẹ ki swhk ko le bẹrẹ. Ti ko ba si aabo lodi si ṣiṣẹda awọn ọna asopọ aami ni / tmp, ailagbara naa le ṣee lo lati ṣẹda tabi atunkọ awọn faili ni eyikeyi ilana eto (PID ti kọ si faili naa) tabi pinnu awọn akoonu ti eyikeyi faili lori eto naa (swhkd tẹ jade gbogbo awọn akoonu ti faili PID si stdout). O jẹ akiyesi pe ninu atunṣe ti a ti tu silẹ faili PID ti gbe ko si / ṣiṣe liana, ṣugbọn si /etc directory (/etc/swhkd/runtime/swhkd_{uid}.pid), nibiti ko tun jẹ.
  • CVE-2022-27814 - Nipa ifọwọyi aṣayan laini aṣẹ “-c” ti a lo lati pato faili iṣeto ni, o ṣee ṣe lati pinnu aye ti eyikeyi faili lori eto naa. Fun apẹẹrẹ, lati ṣayẹwo / root / .somefile o le ṣiṣẹ "pkexec /usr/bin/swhkd -d -c /root/.somefile" ati pe ti faili naa ba sonu, aṣiṣe "/ root/.somefile ko si tẹlẹ. ” yoo han. Gẹgẹbi ọran ti ailagbara akọkọ, atunṣe iṣoro naa jẹ iyalẹnu - atunṣe iṣoro naa ṣan silẹ si otitọ pe ohun elo ita “ologbo” ('Aṣẹ :: tuntun (“/ bin / cat”)))) .arg (ọna) ti ṣe ifilọlẹ bayi lati ka faili atunto.jade()').
  • CVE-2022-27819 - Ọrọ naa tun ni ibatan si lilo aṣayan “-c”, eyiti o fa ki gbogbo faili iṣeto ni kikojọpọ ati pinpin laisi ṣayẹwo iwọn ati iru faili naa. Fun apẹẹrẹ, lati fa kiko iṣẹ nipa ṣiṣiṣẹ kuro ni iranti ọfẹ ati ṣiṣẹda I/O aburu, o le pato ẹrọ idina kan ni ibẹrẹ ("pkexec / usr/bin/swhkd -d -c /dev/sda") tabi ẹrọ ohun kikọ ti o ṣe agbejade ṣiṣan ailopin ti data. Iṣoro naa ti yanju nipasẹ tunto awọn anfani ṣaaju ṣiṣi faili naa, ṣugbọn atunṣe ko pari, nitori pe ID olumulo nikan (UID) ti tunto, ṣugbọn ID ẹgbẹ (GID) wa kanna.
  • CVE-2022-27818 - A ṣẹda iho Unix nipa lilo faili /tmp/swhkd.sock ti a ṣẹda ninu iwe-itumọ kikọ, eyiti o yori si awọn ọran ti o jọra bi ailagbara akọkọ (olumulo eyikeyi le ṣẹda /tmp/swhkd.sock ati ṣe ipilẹṣẹ tabi kikọlu. awọn iṣẹlẹ titẹ bọtini).
  • CVE-2022-27817 - Awọn iṣẹlẹ igbewọle jẹ itẹwọgba lati gbogbo awọn ẹrọ ati ni gbogbo awọn akoko, i.e. olumulo lati igba Wayland miiran tabi lati console le ṣe idiwọ awọn iṣẹlẹ nigbati awọn bọtini gbona ba tẹ nipasẹ awọn olumulo miiran.
  • CVE-2022-27816 Awọn ilana swhks, bi swhkd, nlo PID faili /tmp/swhks.pid ninu awọn kikọ /tmp liana. Iṣoro naa jọra si ailagbara akọkọ, ṣugbọn ko lewu nitori swhks nṣiṣẹ labẹ olumulo ti ko ni anfani.

orisun: opennet.ru

Fi ọrọìwòye kun