Qelsiyên li swhkd, rêveberek kurteya Wayland

Di swhkd (Simple Wayland HotKey Daemon) de rêzek qelsî hatine nas kirin ku ji ber xebata nerast bi pelên demkî, parametreyên rêzika fermanê û soketên Unix-ê re çêbûne. Bername bi Rust-ê hatî nivîsandin û li hawîrdorên ku li ser bingeha protokola Wayland-ê ve girêdayî ye, zexta bişkojka germ dike (analogek veavakirin-pelê-lihevhatî ya pêvajoya sxhkd-ê ku di hawîrdorên X11-ê de tê bikar anîn).

Di pakêtê de pêvajoyek swhks-a bêdestûr heye ku çalakiyên bişkojka germ pêk tîne, û pêvajoyek swhkd-ya paşîn a ku wekî root dimeşîne û di asta Uinput API-ê de bi amûrên têketinê re têkildar dibe. Soketek Unix tê bikar anîn da ku têkiliya di navbera swhks û swhkd de organîze bike. Bi karanîna qaîdeyên Polkit, her bikarhênerek herêmî dikare pêvajoya /usr/bin/swhkd wekî root bimeşîne û pîvanên kêfî jê re derbas bike.

Qelsiyên naskirî:

  • CVE-2022-27815 - Tomarkirina PID-a pêvajoyê li pelek bi navek pêşbînîkirî û di pelrêça ku ji hêla bikarhênerên din ve tê nivîsandin (/tmp/swhkd.pid) tê nivîsandin. Her bikarhênerek dikare pelek /tmp/swhkd.pid biafirîne û pidê pêvajoyek heyî têxe nav wê, ku dê swhkd nikaribe dest pê bike. Heke parastinek li dijî afirandina girêdanên sembolîk di /tmp de tune be, lawazbûn dikare were bikar anîn da ku pelan di pelrêça pergalê de biafirîne an binivîsîne (PID li pelê tê nivîsandin) an naveroka pelê li ser pergalê diyar bike (swhkd çap dike tevahiya naveroka pelê PID ji bo stdout). Hêjayî balkişandinê ye ku di rastkirina serbestberdanê de pelê PID ne li pelrêça /run, lê li pelrêça /etc (/etc/swhkd/runtime/swhkd_{uid}.pid) hate guheztin, ku ew jî ne girêdayî ye.
  • CVE-2022-27814 - Bi manîpulekirina vebijarka rêzika fermanê "-c" ku ji bo destnîşankirina pelek vesazkirinê tê bikar anîn, gengaz e ku meriv hebûna pelê li ser pergalê diyar bike. Mînakî, ji bo kontrolkirina /root/.somefile hûn dikarin "pkeexec /usr/bin/swhkd -d -c /root/.somefile" bişopînin û heke pel wenda be, xeletiya "/root/.somefile tune. ” dê were nîşandan. Mîna di haleta qelsiya yekem de, rastkirina pirsgirêkê matmayî ye - rastkirina pirsgirêkê bi vê yekê ve girêdayî ye ku amûra derveyî "cat" ('Ferman::new ("/bin/cat")).arg(rê) niha ji bo xwendina pelê veavakirinê tê destpêkirin. output()').
  • CVE-2022-27819 - Pirsgirêk di heman demê de bi karanîna vebijarka "-c" ve girêdayî ye, ku dibe sedem ku tevahiya pelê veavakirinê bêyî kontrolkirina mezinahî û celebê pelê were barkirin û pars kirin. Mînakî, ji bo ku hûn ji hêla bîranîna belaş veqetîne û bi çêkirina I/O-ya derewîn bibe sedema redkirina karûbarê, hûn dikarin di destpêkê de amûrek blokê diyar bikin ("pkexec /usr/bin/swhkd -d -c /dev/sda") an amûrek karekterê ku pêleka bêdawî ya daneyan çêdike. Pirsgirêk berî vekirina pelê bi veavakirina îmtiyazan hate çareser kirin, lê rastkirin ne temam bû, ji ber ku tenê nasnameya bikarhêner (UID) tê vesaz kirin, lê nasnameya komê (GID) heman dimîne.
  • CVE-2022-27818 - Soketek Unix bi karanîna pelê /tmp/swhkd.sock ve hatî afirandin ku di pelrêçekek nivîskî de hatî çêkirin, ku dibe sedema pirsgirêkên mîna xirapiya yekem (her bikarhêner dikare /tmp/swhkd.sock biafirîne û biafirîne an asteng bike bûyerên keypress).
  • CVE-2022-27817 - Bûyerên têketinê ji hemî cîhazan û di hemî danişînan de têne pejirandin, ango. bikarhênerek ji danişînek din a Wayland an ji konsolê dikare dema ku bişkojkên germ ji hêla bikarhênerên din ve têne pêl kirin bûyeran bigire.
  • CVE-2022-27816 Pêvajoya swhks, mîna swhkd, pelê PID /tmp/swhks.pid di pelrêça /tmp de ya nivîskî de bikar tîne. Pirsgirêk mîna qelsiya yekem e, lê ne ew qas xeternak e ji ber ku swhks di bin bikarhênerek bêdestûr de dimeşe.

Source: opennet.ru

Add a comment