{"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\/nl\/blog\/news\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland","title":{"rendered":"Kwetsbaarheden in swhkd, de sneltoetsbeheerder voor Wayland.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In swhkd (Simple Wayland HotKey Daemon) is een reeks kwetsbaarheden ontdekt, veroorzaakt door onjuist omgaan met tijdelijke bestanden, opdrachtregelparameters en unix-sockets. Het programma is geschreven in de taal Rust en verwerkt het indrukken van sneltoetsen in omgevingen op basis van het Wayland-protocol (vergelijkbaar op het niveau van configuratiebestanden met het sxhkd-proces dat in omgevingen op basis van X11 wordt gebruikt).     <\/p>\n<p>Het pakket bevat een niet-privileged proces swhks, dat acties voor de sneltoetsen uitvoert, en een achtergrondproces swhkd, dat met root-rechten draait en interactie heeft met invoerapparaten op API uinput-niveau. Voor de interactie tussen swhks en swhkd wordt een Unix-socket gebruikt. Via Polkit-regels krijgt elke lokale gebruiker de mogelijkheid om het proces \/usr\/bin\/swhkd met root-rechten te starten en willekeurige parameters door te geven.    <\/p>\n<p>Ge\u00efdentificeerde kwetsbaarheden:  <\/p>\n<ul>\n<li class=\"l\"> CVE-2022-27815  \u2014 het opslaan van een PID van een proces in een bestand met een voorspelbare naam in een map die door andere gebruikers beschrijfbaar is (\/tmp\/swhkd.pid). Elke gebruiker kan het bestand \/tmp\/swhkd.pid aanmaken en daarin de PID van een bestaand proces plaatsen, wat leidt tot onmogelijkheid om swhkd te starten. Bij afwezigheid van bescherming tegen het maken van symbolische koppelingen in \/tmp, kan de kwetsbaarheid worden gebruikt om bestanden in elke systeemmap te maken of te overschrijven (de PID wordt in het bestand geschreven) of de inhoud van elk bestand in het systeem te achterhalen (swhkd geeft alles in de PID-bestand naar stdout). Opmerkelijk is dat in de vrijgegeven patch het PID-bestand niet is verplaatst naar de map \/run, maar naar de map \/etc (\/etc\/swhkd\/runtime\/swhkd_{uid}.pid), waar het ook niet hoort.\n<li class=\"l\"> CVE-2022-27814 \u2014 door te spelen met de commandoregelparameter \u2018-c\u2019, die gebruikt wordt om het configuratiebestand op te geven, kan de aanwezigheid van elk bestand in het systeem worden vastgesteld. Bijvoorbeeld, om \/root\/.somefile te controleren kan men \u2018pkexec \/usr\/bin\/swhkd -d -c \/root\/.somefile\u2019 uitvoeren en als het bestand ontbreekt, verschijnt er een foutmelding \u2018\/root\/.somefile doesn\u2019t exist\u2019. Zoals in het geval van de eerste kwetsbaarheid is de oplossing voor het probleem verwarrend \u2014 de oplossing is dat voor het lezen van het configuratiebestand nu de externe utility \u2018cat\u2019 wordt opgeroepen (\u2018Command::new(\u2018\/bin\/cat\u2019).arg(path).output()\u2019).\n<li class=\"l\"> CVE-2022-27819 \u2014 het probleem is ook gerelateerd aan het gebruik van de optie \u2018-c\u2019, waarbij het configuratiebestand in zijn geheel wordt geladen en geanalyseerd zonder controle op de grootte en het type bestand. Bijvoorbeeld, voor het veroorzaken van een denial-of-service door uitputting van vrij geheugen en het cre\u00ebren van parasitaire I\/O kan men bij het starten een blokapparaat opgeven (\u2018pkexec \/usr\/bin\/swhkd -d -c \/dev\/sda\u2019) of een karakterapparaat dat een oneindige gegevensstroom genereert. Het probleem is opgelost door de privileges terug te zetten voordat het bestand wordt geopend, maar de oplossing bleek niet volledig, omdat alleen de gebruikers-ID (UID) wordt teruggezet, maar de groeps-ID (GID) blijft hetzelfde.\n<li class=\"l\"> CVE-2022-27818 \u2014 voor het aanmaken van een Unix-socket wordt het bestand \/tmp\/swhkd.sock gebruikt, dat in een publiek beschrijfbare map wordt aangemaakt, wat leidt tot soortgelijke problemen als de eerste kwetsbaarheid (iedereen kan \/tmp\/swhkd.sock aanmaken en gebeurtenissen van toetsaanslagen genereren of onderscheppen).\n<li class=\"l\"> CVE-2022-27817 \u2014 invoerevenementen worden van alle apparaten en in alle sessies geaccepteerd, dat wil zeggen dat een gebruiker uit een andere Wayland-sessie of vanuit de console invoerevenementen kan onderscheppen wanneer andere gebruikers sneltoetsen indrukken.\n<li class=\"l\"> CVE-2022-27816 \u2014 het proces swhks, net als swhkd, gebruikt een PID-bestand \/tmp\/swhks.pid in een openbare beschrijfbare directory \/tmp. Het probleem is vergelijkbaar met de eerste kwetsbaarheid, maar minder ernstig, omdat swhks onder een niet-bevoorrechte gebruiker wordt uitgevoerd.      <\/ul>\n<p>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57032\">opennet.ru<\/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.3 - 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\/nl\/blog\/news\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Kwetsbaarheden in swhkd, de sneltoetsenmanager voor Wayland | ProHoster","description":"In swhkd (Simple Wayland HotKey Daemon) zijn een reeks kwetsbaarheden vastgesteld die zijn veroorzaakt door onjuiste omgang met tijdelijke bestanden, opdrachtregelparameters en unix-sockets.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/uyazvimosti-v-swhkd-menedzhere-goryachih-klavish-dlya-wayland","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/103807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=103807"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/103807\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=103807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=103807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=103807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}