{"id":100806,"date":"2021-07-21T10:22:45","date_gmt":"2021-07-21T08:22:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd"},"modified":"2021-07-21T10:22:45","modified_gmt":"2021-07-21T08:22:45","slug":"root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/news\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd","title":{"rendered":"Root vulnerability in the Linux kernel and denial of service in systemd","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Beveiligingsonderzoekers van Qualys hebben details onthuld over twee kwetsbaarheden die het Linux-kernel en het systeembeheerder systemd aantasten. De kwetsbaarheid in de kernel (CVE-2021-33909) stelt een lokale gebruiker in staat om code met root-rechten uit te voeren door manipulatie van mappen met een grote diepte.     <\/p>\n<p>De gevaren van de kwetsbaarheid worden verergerd doordat onderzoekers werkende exploits hebben voorbereid die werken op Ubuntu 20.04\/20.10\/21.04, Debian 11 en Fedora 34 in de standaardconfiguratie. Het is opgemerkt dat andere distributies niet zijn getest, maar theoretisch ook kwetsbaar kunnen zijn en aangevallen kunnen worden. De volledige code van de exploits belooft openbaar gemaakt te worden na een alomvattende oplossing van het probleem, terwijl momenteel slechts een beperkte functionele prototype beschikbaar is die een systeemcrash veroorzaakt. Het probleem bestaat al sinds juli 2014 en be\u00efnvloedt kernelversies vanaf 3.16. De patch voor de kwetsbaarheid is geco\u00f6rdineerd met de gemeenschap en is op 19 juli in de kernel opgenomen. De belangrijkste distributies hebben al updates voor de kernelpakketten geformuleerd (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch).    <\/p>\n<p>De kwetsbaarheid wordt veroorzaakt door het ontbreken van controle op de conversie van het type size_t naar int voordat operaties in de seq_file-code worden uitgevoerd, die bestanden maakt uit een reeks records. Het ontbreken van deze controle kan leiden tot schrijfoperaties buiten de grens van de buffer bij het maken, monteren en verwijderen van mapstructuren met een zeer hoge diepgang (padgrootte van meer dan 1 GB). Hierdoor kan een aanvaller een 10-byte string '\/\/\/deleted' schrijven met een offset van '- 2 GB - 10 bytes', wat wijst op het gebied dat direct voorafgaat aan de toegewezen buffer.    <\/p>\n<p>De voorbereide exploit vereist 5 GB geheugen en 1 miljoen vrije inode. De werking van de exploit bestaat uit het maken van een hi\u00ebrarchie van ongeveer een miljoen geneste mappen via een mkdir()-aanroep om een padgrootte groter dan 1 GB te bereiken. Deze map wordt gemonteerd via een bind-mount in een aparte gebruikersnaamruimte (user namespace), waarna de rmdir()-functie wordt aangeroepen om deze te verwijderen. Tegelijkertijd wordt er een thread aangemaakt die een kleine eBPF-programma laadt, welke wordt geblokkeerd tijdens de fase na controle van de pseudocode van eBPF, maar voor de JIT-compilatie.     <\/p>\n<p>In een niet-geprivilegieerde gebruikersnaamruimte wordt het bestand \/proc\/self\/mountinfo geopend en wordt een lang pad van de map die met bind-mount is gemonteerd gelezen, wat leidt tot het schrijven van de string '\/\/\/deleted' in het gebied v\u00f3\u00f3r het begin van de buffer. De positie voor het schrijven van de string wordt zodanig gekozen dat deze een instructie in een al gecontroleerd, maar nog niet gecompileerd eBPF-programma overschrijft.   <\/p>\n<p>Vervolgens wordt de onbeheersbare schrijfoperatie buiten de buffer op het eBPF-programmaniveau omgevormd tot een beheersbare mogelijkheid voor lezen en schrijven naar andere kernstructuren door manipulatie van de btf- en map_push_elem-structuren. Uiteindelijk bepaalt de exploit de locatie van de modprobe_path[] buffer in het kerngeheugen en overschrijft deze met het pad '\/sbin\/modprobe', wat de mogelijkheid biedt om elk uitvoerbaar bestand met root-rechten uit te voeren in het geval van een aanroep van request_module(), die bijvoorbeeld wordt uitgevoerd bij het maken van een netlink-socket.    <\/p>\n<p>Onderzoekers geven verschillende workaround-methoden voor beveiliging aan die alleen effectief zijn voor specifieke exploits, maar die het onderliggende probleem niet oplossen. Het wordt aangeraden om de parameter '\/proc\/sys\/kernel\/unprivileged_userns_clone' in te stellen op 0 om het monteren van mappen in een aparte gebruikersnaamruimte te verbieden, evenals '\/proc\/sys\/kernel\/unprivileged_bpf_disabled' op 1 om het laden van eBPF-programma's in de kernel te verbieden.  <center>  <iframe loading=\"lazy\" title=\"Sequoia: Een lokale privilege-escalatiekwetsbaarheid in de bestandenlaag van Linux (CVE-2021-33909)\" src=\"https:\/\/player.vimeo.com\/video\/577035507\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen><\/iframe><\/center>      <\/p>\n<p>Opmerkelijk is dat, terwijl ze een alternatieve aanvalsmethode onderzochten waarbij het FUSE-mechanisme werd gebruikt in plaats van bind-mount om een grote map te monteren, de onderzoekers stuitten op een andere kwetsbaarheid (CVE-2021-33910) die de systeembeheerder systemd betreft. Het bleek dat bij het proberen te monteren van een map met een padgrootte die 8 MB overschrijdt, er een stackgeheugenuitputting en een crash optreedt in het init-proces (PID1), wat het systeem in een 'panic'-toestand brengt.     <\/p>\n<p>Het probleem heeft te maken met het feit dat systemd de inhoud van \/proc\/self\/mountinfo volgt en ontleedt, en elke montagepunt behandelt in de functie unit_name_path_escape(), waarin de strdupa()-bewerking wordt uitgevoerd, waardoor de gegevens op de stack worden geplaatst in plaats van in dynamisch toegewezen geheugen. Aangezien de maximale stackgrootte is beperkt via RLIMIT_STACK, leidt de verwerking van een te lange pad naar het montagepunt tot een crash van proces PID1 en het stoppen van het systeem. Voor de aanval kan een eenvoudige FUSE-module worden gebruikt in combinatie met een directory met een grote diepte als montagepunt, waarvan de padgrootte meer dan 8 MB bedraagt.    <\/p>\n<p>Het probleem doet zich voor vanaf systemd 220 (april 2015), en is al opgelost in de hoofdrepository van systemd en gecorrigeerd in distributies (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch). Opmerkelijk is dat de exploit in release systemd 248 niet werkt vanwege een fout in de systemd-code, die leidt tot een crash bij de verwerking van \/proc\/self\/mountinfo. Ook interessant is dat in 2018 een vergelijkbare situatie ontstond en bij een poging om een exploit te schrijven voor de kwetsbaarheid CVE-2018-14634 in de Linux-kernel, onderzoekers van Qualys op drie kritieke kwetsbaarheden in systemd stuitten.<br \/>\n<br \/>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55528\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Qualys \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438 \u0434\u0435\u0442\u0430\u043b\u0438 \u0434\u0432\u0443\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u044f\u0434\u0440\u043e Linux \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 systemd. \u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u044f\u0434\u0440\u0435 (CVE-2021-33909) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 root \u0447\u0435\u0440\u0435\u0437 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438. \u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0443\u0441\u0443\u0433\u0443\u0431\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u044b, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u0432 Ubuntu 20.04\/20.10\/21.04, Debian 11 \u0438 Fedora 34 \u0432 [&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-100806","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=\"\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Qualys \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438 \u0434\u0435\u0442\u0430\u043b\u0438 \u0434\u0432\u0443\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u044f\u0434\u0440\u043e Linux \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 systemd.\" \/>\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\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd\" \/>\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\udd47Root-\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u044f\u0434\u0440\u0435 Linux \u0438 \u043e\u0442\u043a\u0430\u0437 \u0432 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0438 \u0432 systemd | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Qualys \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438 \u0434\u0435\u0442\u0430\u043b\u0438 \u0434\u0432\u0443\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u044f\u0434\u0440\u043e Linux \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 systemd.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/news\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd\" \/>\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=\"2021-07-21T08:22:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-07-21T08:22:45+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\udd47Root-kwetsbaarheid in de Linux-kernel en denial of service in systemd | ProHoster","description":"Beveiligingsonderzoekers van Qualys hebben details onthuld over twee kwetsbaarheden die de Linux-kernel en de systeemmanager systemd treffen.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd","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\udd47Root-\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u044f\u0434\u0440\u0435 Linux \u0438 \u043e\u0442\u043a\u0430\u0437 \u0432 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0438 \u0432 systemd | ProHoster","og:description":"\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Qualys \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438 \u0434\u0435\u0442\u0430\u043b\u0438 \u0434\u0432\u0443\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u044f\u0434\u0440\u043e Linux \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 systemd.","og:url":"https:\/\/prohoster.info\/nl\/blog\/news\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd","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":"2021-07-21T08:22:45+00:00","article:modified_time":"2021-07-21T08:22:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100806","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":null,"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-07-21 08:37:12","updated":"2022-09-29 19:57:23","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\/100806","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=100806"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/100806\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=100806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=100806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=100806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}