{"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\/it\/blog\/news\/root-uyazvimost-v-yadre-linux-i-otkaz-v-obsluzhivanii-v-systemd","title":{"rendered":"Vulnerabilit\u00e0 di root nel kernel Linux e attacco di denial of service in systemd.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I ricercatori di sicurezza di Qualys hanno rivelato i dettagli di due vulnerabilit\u00e0 che interessano il kernel Linux e il gestore di sistema systemd. La vulnerabilit\u00e0 nel kernel (CVE-2021-33909) consente a un utente locale di ottenere l'esecuzione di codice con privilegi di root manipolando directory di alta profondit\u00e0.     <\/p>\n<p>La gravit\u00e0 della vulnerabilit\u00e0 \u00e8 aggravata dal fatto che i ricercatori sono riusciti a preparare exploit funzionanti che operano su Ubuntu 20.04\/20.10\/21.04, Debian 11 e Fedora 34 nelle configurazioni predefinite. Si segnala che altre distribuzioni non sono state testate, ma teoricamente sono ugualmente vulnerabili e potrebbero essere attaccate. Il codice completo degli exploit sar\u00e0 pubblicato dopo che il problema sar\u00e0 stato risolto su larga scala, mentre attualmente \u00e8 disponibile solo un prototipo limitato nelle funzionalit\u00e0 che causa il crash del sistema. Il problema \u00e8 presente dal luglio 2014 e interessa le versioni del kernel a partire dalla 3.16. La correzione della vulnerabilit\u00e0 \u00e8 stata coordinata con la comunit\u00e0 ed \u00e8 stata integrata nel kernel il 19 luglio. Le principali distribuzioni hanno gi\u00e0 creato aggiornamenti dei pacchetti del kernel (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch).    <\/p>\n<p>La vulnerabilit\u00e0 \u00e8 causata dalla mancanza di controllo del risultato della conversione da size_t a int prima di eseguire operazioni nel codice seq_file, che crea file da una sequenza di record. La mancanza di controllo pu\u00f2 portare alla scrittura in un'area al di fuori dei confini del buffer durante la creazione, il montaggio e la rimozione di una struttura di directory con un livello di nidificazione molto elevato (dimensione del percorso maggiore di 1 GB). Di conseguenza, un attaccante pu\u00f2 ottenere la scrittura di una stringa di 10 byte &#171;\\\/deleted&#187; con uno spostamento &#171;- 2 GB &#8212; 10 byte&#187;, indicando un'area che precede direttamente il buffer allocato.    <\/p>\n<p>L'exploit preparato richiede 5 GB di memoria e 1 milione di inode liberi. L'exploit si riduce alla creazione di una gerarchia di circa un milione di directory annidate tramite una chiamata mkdir() per raggiungere una dimensione del percorso del file superiore a 1 GB. Questa directory \u00e8 montata tramite bind-mount in un namespace utente separato, dopodich\u00e9 viene invocata la funzione rmdir() per la sua eliminazione. Parallelamente, viene creato un thread che carica un piccolo programma eBPF, che si blocca nella fase successiva al controllo del pseudocodice eBPF, ma prima della sua compilazione JIT.     <\/p>\n<p>In uno spazio di nomi non privilegiato, si apre il file \\\/proc\\\/self\\\/mountinfo e si inizia a leggere un lungo percorso di directory montato tramite bind-mount, il che porta alla scrittura della stringa &#171;\\\/deleted&#187; in un'area prima dell'inizio del buffer. La posizione per la scrittura della stringa viene scelta in modo tale da sovrascrivere un'istruzione in un programma gi\u00e0 verificato ma non ancora compilato dell'eBPF.   <\/p>\n<p>Successivamente, a livello del programma eBPF, una scrittura non controllata al di fuori del buffer viene trasformata in una possibilit\u00e0 controllata di lettura e scrittura in altre strutture del kernel attraverso la manipolazione delle strutture btf e map_push_elem. Di conseguenza, l'exploit determina la posizione del buffer modprobe_path[] in memoria del kernel e sovrascrive al suo interno il percorso &#171;\\\/sbin\\\/modprobe&#187;, consentendo l'avvio di qualsiasi file eseguibile con i diritti di root nel caso in cui venga eseguita una chiamata request_module(), che avviene, ad esempio, durante la creazione di un socket netlink.    <\/p>\n<p>I ricercatori forniscono diverse soluzioni alternative di protezione, efficaci solo per specifici exploit, ma non risolvono il problema fondamentale. Si raccomanda di impostare il parametro &#171;\\\/proc\\\/sys\\\/kernel\\\/unprivileged_userns_clone&#187; su 0 per vietare il montaggio di directory in uno spazio di nomi degli identificatori utente separato e di impostare &#171;\\\/proc\\\/sys\\\/kernel\\\/unprivileged_bpf_disabled&#187; su 1 per vietare il caricamento di programmi eBPF nel kernel.  <center>  <iframe loading=\"lazy\" title=\"Sequoia: una vulnerabilit\u00e0 di escalation di privilegi locale nel layer del filesystem di Linux (CVE-2021-33909)\" src=\"https:\/\/player.vimeo.com\/video\/577035507\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen><\/iframe><\/center>      <\/p>\n<p>\u00c8 interessante notare che, analizzando un'alternativa all'attacco, legata all'uso del meccanismo FUSE invece di bind-mount per montare una grande directory, i ricercatori hanno scoperto un'altra vulnerabilit\u00e0 (CVE-2021-33910) che colpisce il gestore di sistema systemd. Si \u00e8 scoperto che, tentando di montare tramite FUSE una directory con una lunghezza del percorso superiore a 8 MB, si verifica un'esaurimento dello stack di memoria nel processo di inizializzazione (PID1), causando un crash che porta il sistema in uno stato di 'panic'.     <\/p>\n<p>Il problema \u00e8 che systemd monitora e analizza il contenuto di \/proc\/self\/mountinfo, gestendo ogni punto di montaggio nella funzione unit_name_path_escape(), dove viene eseguita l'operazione strdupa(), che colloca i dati nello stack anzich\u00e9 in memoria allocata dinamicamente. Poich\u00e9 la dimensione massima dello stack \u00e8 limitata tramite RLIMIT_STACK, la gestione di un percorso di montaggio troppo lungo porta al crash del processo PID1 e all'arresto del sistema. Per l'attacco, si pu\u00f2 utilizzare un semplice modulo FUSE insieme a una directory montata con un alto livello di nidificazione, il cui percorso supera gli 8 MB.    <\/p>\n<p>Il problema si manifesta a partire da systemd 220 (aprile 2015), \u00e8 gi\u00e0 stato risolto nel repository principale di systemd e corretto nelle distribuzioni (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch). \u00c8 interessante notare che nell'uscita di systemd 248 l'exploit non funziona a causa di un errore nel codice di systemd che causa un crash durante l'elaborazione di \/proc\/self\/mountinfo. Inoltre, nel 2018 si \u00e8 verificata una situazione simile e, nel tentativo di scrivere un exploit per la vulnerabilit\u00e0 CVE-2018-14634 nel kernel Linux, i ricercatori di Qualys hanno scoperto tre vulnerabilit\u00e0 critiche in systemd.<br \/>\n<br \/>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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\udd47Vulnerabilit\u00e0 root nel kernel di Linux e denial of service in systemd | ProHoster","description":"I ricercatori di sicurezza di Qualys hanno rivelato i dettagli di due vulnerabilit\u00e0 che colpiscono il kernel di Linux e il gestore di sistema systemd.","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/100806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=100806"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/100806\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=100806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=100806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=100806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}