Nga whakaraeraetanga i roto i te swhkd, he kaiwhakahaere pokatata mo Wayland

He raupapa whakaraerae kua kitea i roto i te swhkd (Simple Wayland HotKey Daemon) na te he o te mahi me nga konae rangitahi, nga tawhā raina whakahau me nga turanga Unix. Kua tuhia te hotaka ki Rust me te hapai i te pehi wetewete i roto i nga taiao e pa ana ki te kawa Wayland (he whirihoranga-kōnae-hototahi o te tukanga sxhkd e whakamahia ana i roto i nga taiao X11).

Kei roto i te kete he tukanga swhks unprivileged e mahi ana i nga mahi hotkey, me te tukanga swhkd papamuri ka rere hei pakiaka me te taunekeneke ki nga taputapu whakauru i te taumata API uinput. Ka whakamahia he turanga Unix hei whakarite i te taunekeneke i waenga i te swhks me te swhkd. Ma te whakamahi i nga ture Polkit, ka taea e tetahi kaiwhakamahi o te rohe te whakahaere i te tukanga /usr/bin/swhkd hei pakiaka me te tuku i nga tawhā ki a ia.

Nga whakaraeraetanga kua tautuhia:

  • CVE-2022-27815 – Tiaki i te tukanga PID ki te konae me te ingoa matapae me te raarangi ka taea te tuhi e etahi atu kaiwhakamahi (/tmp/swhkd.pid). Ka taea e tetahi kaiwhakamahi te hanga i tetahi konae /tmp/swhkd.pid me te whakauru i te pid o te tukanga o mua ki roto, ka kore e taea e swhkd te tiimata. Mena karekau he whakamarumaru ki te hanga hononga tohu ki /tmp, ka taea te whakaraeraetanga ki te hanga, ki te tuhirua ranei i nga konae kei roto i tetahi raarangi punaha (kua tuhia te PID ki te konae) ka whakatau ranei i nga ihirangi o tetahi konae kei runga i te punaha (ka ta swhkd te nga ihirangi katoa o te konae PID ki stdout). Ko te mea nui i roto i te whakatika i tukuna te konae PID kaore i nekehia ki te whaiaronga /run, engari ki te whaiaronga /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), kei hea hoki.
  • CVE-2022-27814 - Na roto i te raweke i te "-c" kōwhiringa raina whakahau e whakamahia ana hei tohu i tetahi konae whirihoranga, ka taea te whakatau i te noho o tetahi konae kei runga i te punaha. Hei tauira, ki te tirotiro i te /root/.somefile ka taea e koe te whakahaere "pkexec /usr/bin/swhkd -d -c /root/.somefile" a ki te ngaro te konae, karekau te hapa "/root/.somefile" ” ka whakaatuhia. Ka rite ki te take o te whakaraeraetanga tuatahi, he pohehe te whakatika i te raru - ko te whakatika i te raru ka heke ki te meka ko te taputapu o waho "ngeru" ('Whakahau:: hou("/bin/cat")).arg(ara) kua whakarewahia inaianei ki te panui i te konae whirihoranga. output()').
  • CVE-2022-27819 - Ko te take e pa ana ki te whakamahi i te waahanga "-c", e kii ana i te katoa o te konae whirihoranga ka utaina me te taraihia me te kore e tirohia te rahi me te momo o te konae. Hei tauira, ki te aukati i te ratonga ma te kore o te mahara kore utu me te hanga I/O teka, ka taea e koe te tohu i tetahi taputapu paraka i te tiimatanga ("pkexec /usr/bin/swhkd -d -c /dev/sda") ranei he taputapu pūāhua e whakaputa ana i te rerenga raraunga mutunga kore. I whakatauhia te raruraru ma te tautuhi i nga mana i mua i te whakatuwheratanga o te konae, engari kaore i oti te whakatika, na te mea ko te ID kaiwhakamahi (UID) anake te tautuhi, engari kei te noho tonu te ID roopu (GID).
  • CVE-2022-27818 – Ka hangaia he turanga Unix ma te whakamahi i te konae /tmp/swhkd.sock i hangaia i roto i te raarangi tuhi, e arai ana ki nga take rite ki te whakaraerae tuatahi (ka taea e tetahi kaiwhakamahi te hanga /tmp/swhkd.sock me te whakaputa, te haukoti ranei takahanga pēhi).
  • CVE-2022-27817 - Ka whakaaetia nga huihuinga whakauru mai i nga taputapu katoa me nga waahi katoa, ara. Ka taea e tetahi kaiwhakamahi mai i tetahi atu huihuinga Wayland, mai i te papatohu ranei te haukoti i nga huihuinga ka pehia ana nga pihi wera e etahi atu kaiwhakamahi.
  • CVE-2022-27816 Ko te tukanga swhks, penei i te swhkd, ka whakamahi i te konae PID /tmp/swhks.pid i roto i te raarangi tuhi /tmp. He rite te raruraru ki te whakaraeraetanga tuatahi, engari ehara i te mea kino na te mea kei te whakahaere nga swhks i raro i tetahi kaiwhakamahi kore.

Source: opennet.ru

Tāpiri i te kōrero