{"id":103807,"date":"2022-04-17T21:36:41","date_gmt":"2022-04-17T19:36:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland"},"modified":"2022-04-17T21:36:41","modified_gmt":"2022-04-17T19:36:41","slug":"uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland","title":{"rendered":"Vulnerabilit\u0103\u021bi \u00een swhkd, managerul de taste rapide pentru Wayland","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cen swhkd (Simple Wayland HotKey Daemon) a fost descoperit\u0103 o serie de vulnerabilit\u0103\u021bi cauzate de gestionarea incorect\u0103 a fi\u0219ierelor temporare, parametrilor din linia de comand\u0103 \u0219i a Unix socket-urilor. Programul este scris \u00een Rust \u0219i proceseaz\u0103 ap\u0103sarea tastelor rapide \u00een medii bazate pe protocolul Wayland (compatibil la nivel de fi\u0219iere de configurare, similar procesului sxhkd, utilizat \u00een medii bazate pe X11).     <\/p>\n<p>Pachetul con\u021bine un proces neprivilegiat swhks, care \u00eendepline\u0219te ac\u021biuni pentru tastele rapide, \u0219i un proces de fundal swhkd, care ruleaz\u0103 cu privilegii root \u0219i interac\u021bioneaz\u0103 cu dispozitivele de intrare la nivelul API-ului uinput. Pentru a organiza interac\u021biunea dintre swhks \u0219i swhkd se utilizeaz\u0103 un Unix socket. Prin intermediul regulilor Polkit, oric\u0103rui utilizator local \u00eei este permis s\u0103 porneasc\u0103 procesul \/usr\/bin\/swhkd cu privilegii root \u0219i s\u0103-i transmit\u0103 parametrii arbitrari.    <\/p>\n<p>Vulnerabilit\u0103\u021bile identificate:  <\/p>\n<ul>\n<li class=\"l\"> CVE-2022-27815 \u2014 p\u0103strarea PID-ului procesului \u00eentr-un fi\u0219ier cu un nume predictibil \u0219i \u00eentr-un director accesibil pentru scriere de c\u0103tre al\u021bi utilizatori (\\\/tmp\\\/swhkd.pid). Orice utilizator poate crea fi\u0219ierul \\\/tmp\\\/swhkd.pid \u0219i poate plasa \u00een el PID-ul unui proces existent, ceea ce va duce la imposibilitatea de a lansa swhkd. \u00cen lipsa protec\u021biei \u00eempotriva cre\u0103rii de linkuri simbolice \u00een \\\/tmp, vulnerabilitatea poate fi exploatat\u0103 pentru a crea sau a suprascrie fi\u0219iere \u00een orice director sistem (\u00een fi\u0219ier se scrie PID-ul) sau pentru a determina con\u021binutul oric\u0103rui fi\u0219ier din sistem (swhkd trimite \u00een stdout tot con\u021binutul fi\u0219ierului PID). Este demn de men\u021bionat c\u0103, \u00een corectarea publicat\u0103, fi\u0219ierul PID a fost mutat nu \u00een directorul \\\/run, ci \u00een directorul \\\/etc (\\\/etc\\\/swhkd\\\/runtime\\\/swhkd_{uid}.pid), unde nici el nu \u00ee\u0219i are locul.\n<li class=\"l\"> CVE-2022-27814 \u2014 manipul\u00e2nd parametrul din linia de comand\u0103 \u00ab-c\u00bb, folosit pentru a specifica fi\u0219ierul de configura\u021bie, se poate determina existen\u021ba oric\u0103rui fi\u0219ier \u00een sistem. De exemplu, pentru a verifica \\\/root\\\/.somefile se poate rula \u00abpkexec \\\/usr\\\/bin\\\/swhkd -d -c \\\/root\\\/.somefile\u00bb \u0219i dac\u0103 fi\u0219ierul lipse\u0219te, va ap\u0103rea mesajul de eroare \u00ab\\\/root\\\/.somefile doesn\u2019t exist\u00bb. La fel ca \u00een cazul primei vulnerabilit\u0103\u021bi, solu\u021bia problemei st\u00e2rne\u0219te confuzie \u2014 eliminarea problemei se rezum\u0103 la faptul c\u0103 pentru citirea fi\u0219ierului de configura\u021bie se folose\u0219te acum o utilitar extern numit \u00abcat\u00bb (\u2018Command::new(\u2018\\\/bin\\\/cat\u2019).arg(path).output()\u2019).\n<li class=\"l\"> CVE-2022-27819 \u2014 problema este, de asemenea, legat\u0103 de utilizarea op\u021biunii \u00ab-c\u00bb, prin care fi\u0219ierul de configura\u021bie este \u00eenc\u0103rcat \u0219i analizat f\u0103r\u0103 a verifica dimensiunea \u0219i tipul fi\u0219ierului. De exemplu, pentru a provoca un atac de tip denial of service prin epuizarea memoriei disponibile \u0219i generarea de input\/output parazitar se poate specifica, la pornire, un dispozitiv bloc (\u00abpkexec \\\/usr\\\/bin\\\/swhkd -d -c \\\/dev\\\/sda\u00bb) sau un dispozitiv simbolic care furnizeaz\u0103 un flux nesf\u00e2r\u0219it de date. Problema a fost rezolvat\u0103 prin resetarea privilegiilor \u00eenainte de deschiderea fi\u0219ierului, dar corectura s-a dovedit a nu fi complet\u0103, deoarece se reseteaz\u0103 doar identificatorul utilizatorului (UID), dar identificatorul grupului (GID) r\u0103m\u00e2ne neschimbat.\n<li class=\"l\"> CVE-2022-27818 \u2014 pentru crearea unui socket Unix se folose\u0219te fi\u0219ierul \\\/tmp\\\/swhkd.sock, creat \u00eentr-un director public disponibil pentru scriere, ceea ce duce la probleme similare cu prima vulnerabilitate (oricare utilizator poate crea \\\/tmp\\\/swhkd.sock \u0219i poate genera sau intercepta evenimentele de ap\u0103sare a tastelor).\n<li class=\"l\"> CVE-2022-27817 \u2014 evenimentele de input sunt acceptate de la toate dispozitivele \u0219i \u00een toate sesiunile, adic\u0103 un utilizator dintr-o alt\u0103 sesiune Wayland sau din consol\u0103 poate intercepta evenimentele atunci c\u00e2nd alte persoane apas\u0103 tastele rapide.\n<li class=\"l\"> CVE-2022-27816 \u2014 procesul swhks, la fel ca swhkd, folose\u0219te fi\u0219ierul PID \/tmp\/swhks.pid \u00eentr-un director public cu permisiuni de scriere \/tmp. Problema este similar\u0103 cu prima vulnerabilitate, dar nu at\u00e2t de grav\u0103, deoarece swhks ruleaz\u0103 sub un utilizator f\u0103r\u0103 privilegii.      <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57032\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 swhkd (Simple Wayland HotKey Daemon) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0441\u0435\u0440\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 unix-\u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448 \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445 \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 Wayland (\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 sxhkd, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445 \u043d\u0430 \u0431\u0430\u0437\u0435 X11). \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 \u043f\u0430\u043a\u0435\u0442\u0430 \u0432\u0445\u043e\u0434\u0438\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-103807","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 swhkd (Simple Wayland HotKey Daemon) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0441\u0435\u0440\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 unix-\u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 swhkd, \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0435 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448 \u0434\u043b\u044f Wayland | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 swhkd (Simple Wayland HotKey Daemon) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0441\u0435\u0440\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 unix-\u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-04-17T19:36:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-04-17T19:36:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vulnerabilit\u0103\u021bile din swhkd, managerul de taste rapide pentru Wayland | ProHoster","description":"\u00cen swhkd (Simple Wayland HotKey Daemon) au fost identificate o serie de vulnerabilit\u0103\u021bi cauzate de gestionarea incorect\u0103 a fi\u0219ierelor temporare, parametrilor din linia de comand\u0103 \u0219i socket-urilor unix.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 swhkd, \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0435 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448 \u0434\u043b\u044f Wayland | ProHoster","og:description":"\u0412 swhkd (Simple Wayland HotKey Daemon) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0441\u0435\u0440\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 unix-\u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-04-17T19:36:41+00:00","article:modified_time":"2022-04-17T19:36:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103807","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-25 10:28:44","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-04-17 19:37:39","updated":"2026-01-25 10:28:44","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/103807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=103807"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/103807\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=103807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=103807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=103807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}