{"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\/et\/blog\/news\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd","title":{"rendered":"Root-haavatavus Linuxi tuumas ja teenuse katkestus systemd-s.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Turvauurijad ettev\u00f5ttest Qualys avalikustasid kahe haavatavuse \u00fcksikasjad, mis m\u00f5jutavad Linuxi tuuma ja s\u00fcsteemihaldurit systemd. Tuuma haavatavus (CVE-2021-33909) v\u00f5imaldab kohalikul kasutajal saada root-\u00f5igustes koodi k\u00e4ivitamise v\u00f5imaluse, manipuleerides s\u00fcgavalt pesastatud kataloogidega.     <\/p>\n<p>Haavatavuse ohtlikkust suurendab asjaolu, et uurijatel \u00f5nnestus valmistada ette toimivad exploit'id, mis t\u00f6\u00f6tavad Ubuntu 20.04\/20.10\/21.04, Debian 11 ja Fedora 34 vaikekonfiguratsioonis. M\u00e4rgitakse, et teisi distributsioone ei ole kontrollitud, kuid teoreetiliselt v\u00f5ivad ka need olla probleemist m\u00f5jutatud ja r\u00fcnnatavad. Exploit'ide t\u00e4ielik kood lubatakse avaldada p\u00e4rast probleemi laialdast k\u00f5rvaldamist, kuid praegu on saadaval vaid piiratud funktsionaalsusega protot\u00fc\u00fcp, mis p\u00f5hjustab s\u00fcsteemi krahhi. Probleem avaldub alates 2014. aasta juulist ja m\u00f5jutab tuuma versioone alates 3.16-st. Haavatavuse parandamine koordineeriti kogukonnaga ning lisati tuuma koosseisu 19. juulil. Peamised distributsioonid on juba koostanud uuendatud kernelipaketid (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch).    <\/p>\n<p>Haavatavus tuleneb size_t t\u00fc\u00fcbist int-ks \u00fcmbermuutmise tulemuse kontrollimise puudumisest seq_file koodis, mis loob faile rekordite j\u00e4rjestikustest. Kontrolli puudumine v\u00f5ib viia m\u00e4lu piire \u00fcletava salvestuseni v\u00e4ga s\u00fcgava kataloogistruktuuri loomisel, montaa\u017eimisel ja kustutamisel (tee pikkus \u00fcle 1 GB). Selle tulemusena v\u00f5ib r\u00fcndaja saavutada 10-baidise stringi \u201e\/\/deleted\u201c salvestamise nihkega \u201e- 2 GB \u2014 10 bitti\u201c, mis osutab vahemikule, mis vahetult eelneb eraldatud m\u00e4lule.    <\/p>\n<p>Ettevalmistatud exploit vajab t\u00f6\u00f6tamiseks 5 GB m\u00e4lu ja 1 miljonit vaba inode'i. Exploit'i t\u00f6\u00f6 seisneb umbes miljonist pesastatud kataloogist koosneva hierarhia loomises mkdir() v\u00e4ljakutse abil, et saavutada failitee pikkus \u00fcle 1 GB. See kataloog \u00fchendatakse bind-mount abil eraldi kasutajatunnuste nimeruumi (user namespace), mille j\u00e4rel k\u00e4ivitatakse selle eemaldamiseks funktsioon rmdir(). Paralleelselt luuakse l\u00f5im, mis laadib v\u00e4ikese eBPF-programmi ja blokeerub etapis p\u00e4rast eBPF-i pseudokoodi kontrolli, kuid enne selle JIT-kompileerimist.     <\/p>\n<p>Mitteprivileegitud kasutaja ID ruumis avatakse fail \/proc\/self\/mountinfo ja algab pika tee lugemine kataloogist, mis on montaa\u017eitud bind-mount'i kaudu, mis viib stringi \u201e\/\/deleted\u201c salvestamiseni vahemiku algusesse. Salvestava stringi asukoht valitakse niimoodi, et see kirjutab \u00fcle k\u00e4su juba kontrollitud, kuid veel mitte kompileeritud eBPF-programmis.   <\/p>\n<p>Edasi liikudes eBPF programmitasandil muudetakse kontrollimata salvestus v\u00e4ljaspool m\u00e4lupiire hallatavaks lugemis- ja kirjutamisv\u00f5imaluseks teistesse tuumstruktuuridesse btf ja map_push_elem struktuuride kaudu manipuleerimise teel. L\u00f5puks m\u00e4\u00e4rab eksploit bufferi modprobe_path[] asukoha tuumas ning kirjutab sinna tee \u201e\/sbin\/modprobe\u201c, mis v\u00f5imaldab k\u00e4ivitada mis tahes t\u00e4idetavat faili juur\u00f5igustega soovi korral request_module() kutse tegemise puhul, mis toimub n\u00e4iteks netlink-soketi loomisel.    <\/p>\n<p>Uurijad toovad v\u00e4lja mitmeid kaitsetehnikaid, mis on t\u00f5husad ainult konkreetse eksploidiga, kuid ei k\u00f5rvalda probleemi ennast. Soovitav on seadistada parameeter \u201e\/proc\/sys\/kernel\/unprivileged_userns_clone\u201c v\u00e4\u00e4rtusele 0, et keelata kataloogide montaa\u017e eraldi kasutaja ID ruumis, samuti \u201e\/proc\/sys\/kernel\/unprivileged_bpf_disabled\u201c v\u00e4\u00e4rtusele 1 eBPF programmide laadimise keelamiseks tuumas.  <center>  <iframe loading=\"lazy\" title=\"Sequoia: kohalik \u00f5iguste t\u00f5stmise haavatavus Linuxi failis\u00fcsteemikihis (CVE-2021-33909)\" src=\"https:\/\/player.vimeo.com\/video\/577035507\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen><\/iframe><\/center>      <\/p>\n<p>T\u00e4htis on m\u00e4rkida, et uurides alternatiivset r\u00fcnnakuv\u00f5imalust, mis on seotud FUSE mehhanismi kasutamisega suurte kataloogide mountimiseks bind-mounti asemel, leidsid teadlased veel \u00fche haavatavuse (CVE-2021-33910), mis m\u00f5jutab s\u00fcsteemi haldurit systemd. Selgus, et FUSE kaudu mountimise katse katalooge, mille tee suurus \u00fcletab 8 MB, p\u00f5hjustab initsialiseerimisse (PID1) m\u00e4lu j\u00e4rsku kahanemist ja kokkuvarisemist, mis viib s\u00fcsteemi \u201epanic\u201c olekusse.     <\/p>\n<p>Probleem on seotud sellega, et systemd j\u00e4lgib ja parsib faili \/proc\/self\/mountinfo sisu ning t\u00f6\u00f6tleb iga haakepunkti funktsioonis unit_name_path_escape(), kus kasutatakse strdupa()-operatsiooni, mis paigutab andmed d\u00fcnaamiliselt eraldatud m\u00e4lu asemel pinu. Kuna pinu maksimaalne suurus on piiratud RLIMIT_STACK kaudu, p\u00f5hjustab liiga pika haakepunkti tee t\u00f6\u00f6tlemine PID1 protsessi krahhi ja s\u00fcsteemi t\u00f6\u00f6 seiskumise. R\u00fcnde jaoks saab kasutada lihtsat FUSE-moodulit koos v\u00e4ga s\u00fcgava kataloogipuuga haakepunktiga, mille tee pikkus \u00fcletab 8 MB.    <\/p>\n<p>Probleem avaldub alates systemd versioonist 220 (aprill 2015), on systemd p\u00f5hirepositooriumis juba k\u00f5rvaldatud ning parandatud distributsioonides (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch). T\u00e4helepanuv\u00e4\u00e4rne on, et systemd 248 v\u00e4ljalaskes exploit ei toimi systemd koodis oleva vea t\u00f5ttu, mis p\u00f5hjustab t\u00f5rke faili \/proc\/self\/mountinfo t\u00f6\u00f6tlemisel. Huvitav on ka see, et 2018. aastal tekkis sarnane olukord: kui p\u00fc\u00fcti kirjutada exploiti Linuxi kerneli haavatavusele CVE-2018-14634, avastasid Qualysi uurijad systemd-s kolm kriitilist haavatavust.<br \/>\n<br \/>Allikas: <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.2 - 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\/et\/blog\/news\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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-haavatavus Linuxi kernelis ja teenuset\u00f5kestus systemd-s | ProHoster","description":"Qualysi turbeuurijad avalikustasid kahe Linuxi kernelit ja systemd s\u00fcsteemihaldurit m\u00f5jutava haavatavuse \u00fcksikasjad.","canonical_url":"https:\/\/prohoster.info\/et\/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":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/100806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=100806"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/100806\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=100806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=100806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=100806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}