Gwendidau yn swhkd, rheolwr llwybr byr ar gyfer Wayland

Mae cyfres o wendidau wedi'u nodi yn swhkd (Simple Wayland HotKey Daemon) a achoswyd gan waith anghywir gyda ffeiliau dros dro, paramedrau llinell orchymyn a socedi Unix. Mae'r rhaglen wedi'i hysgrifennu yn Rust ac mae'n ymdrin â gwasgu allweddi poeth mewn amgylcheddau sy'n seiliedig ar brotocol Wayland (analog sy'n gydnaws â chyfluniad-ffeil o'r broses sxhkd a ddefnyddir mewn amgylcheddau X11).

Mae'r pecyn yn cynnwys proses swhks di-freintiedig sy'n cyflawni gweithredoedd hotkey, a phroses swhkd cefndir sy'n rhedeg fel gwraidd ac yn rhyngweithio â dyfeisiau mewnbwn ar lefel API input. Defnyddir soced Unix i drefnu'r rhyngweithio rhwng swhks a swhkd. Gan ddefnyddio rheolau Polkit, gall unrhyw ddefnyddiwr lleol redeg y broses /usr/bin/swhkd fel gwraidd a phasio paramedrau mympwyol iddi.

Gwendidau a nodwyd:

  • CVE-2022-27815 - Arbed PID proses i ffeil gydag enw rhagweladwy ac mewn cyfeiriadur y gall defnyddwyr eraill ei ysgrifennu (/tmp/swhkd.pid). Gall unrhyw ddefnyddiwr greu ffeil /tmp/swhkd.pid a rhoi'r pid o broses bresennol ynddi, a fydd yn gwneud swhkd yn methu â dechrau. Os nad oes unrhyw amddiffyniad rhag creu dolenni symbolaidd yn / tmp, gellir defnyddio'r bregusrwydd i greu neu drosysgrifo ffeiliau mewn unrhyw gyfeiriadur system (mae'r PID wedi'i ysgrifennu i'r ffeil) neu bennu cynnwys unrhyw ffeil ar y system (mae swhkd yn argraffu'r cynnwys cyfan y ffeil PID i stdout). Mae'n werth nodi yn yr atgyweiriad a ryddhawyd bod y ffeil PID wedi'i symud nid i'r cyfeiriadur / rhedeg, ond i'r cyfeiriadur /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), lle nad yw'n perthyn ychwaith.
  • CVE-2022-27814 - Trwy drin yr opsiwn llinell orchymyn “-c” a ddefnyddir i nodi ffeil ffurfweddu, mae'n bosibl pennu bodolaeth unrhyw ffeil ar y system. Er enghraifft, i wirio /root/.somefile gallwch redeg "pkexec /usr/bin/swhkd -d -c /root/.somefile" ac os yw'r ffeil ar goll, nid yw'r gwall "/root/.somefile" yn bodoli ” yn cael ei arddangos. Fel yn achos y bregusrwydd cyntaf, mae trwsio'r broblem yn ddryslyd - mae trwsio'r broblem yn deillio o'r ffaith bod y cyfleustodau allanol “cath” ('Gorchymyn:: newydd ("/ bin / cath")).arg(llwybr) yn cael ei lansio nawr i ddarllen y ffeil ffurfweddu. output()').
  • CVE-2022-27819 - Mae'r mater hefyd yn gysylltiedig â defnyddio'r opsiwn “-c”, sy'n achosi i'r ffeil ffurfweddu gyfan gael ei llwytho a'i dosrannu heb wirio maint a math y ffeil. Er enghraifft, i achosi gwrthod gwasanaeth trwy redeg allan o gof am ddim a chreu I / O annilys, gallwch nodi dyfais bloc wrth gychwyn ("pkexec /usr/bin/swhkd -d -c /dev/sda") neu dyfais nodau sy'n cynhyrchu llif anfeidrol o ddata . Datryswyd y broblem trwy ailosod y breintiau cyn agor y ffeil, ond nid oedd yr atgyweiriad yn gyflawn, gan mai dim ond yr ID defnyddiwr (UID) sy'n cael ei ailosod, ond mae'r ID grŵp (GID) yn aros yr un fath.
  • CVE-2022-27818 - Crëir soced Unix gan ddefnyddio'r ffeil /tmp/swhkd.sock a grëwyd mewn cyfeiriadur y gellir ei ysgrifennu, sy'n arwain at faterion tebyg i'r bregusrwydd cyntaf (gall unrhyw ddefnyddiwr greu /tmp/swhkd.sock a chynhyrchu neu ryng-gipio digwyddiadau bysellwasg).
  • CVE-2022-27817 - Derbynnir digwyddiadau mewnbwn o bob dyfais ac ym mhob sesiwn, h.y. gall defnyddiwr o sesiwn Wayland arall neu o'r consol ryng-gipio digwyddiadau pan fydd defnyddwyr eraill yn pwyso hotkeys.
  • CVE-2022-27816 Mae'r broses swhks, fel swhkd, yn defnyddio'r ffeil PID /tmp/swhks.pid yn y cyfeiriadur ysgrifenadwy /tmp. Mae'r broblem yn debyg i'r bregusrwydd cyntaf, ond nid yw mor beryglus oherwydd bod swhks yn rhedeg o dan ddefnyddiwr di-freintiedig.

Ffynhonnell: opennet.ru

Ychwanegu sylw