{"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 root nel kernel Linux e denial of service in systemd","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I ricercatori della 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 profonde.     <\/p>\n<p>Il pericolo della vulnerabilit\u00e0 \u00e8 aggravato dal fatto che i ricercatori sono riusciti a preparare exploit funzionanti per Ubuntu 20.04\/20.10\/21.04, Debian 11 e Fedora 34 con la configurazione di default. Si segnala che altre distribuzioni non sono state testate, ma teoricamente possono anch'esse essere vulnerabili e attaccate. Il codice completo degli exploit verr\u00e0 pubblicato dopo la risoluzione diffusa del problema, mentre attualmente \u00e8 disponibile solo un prototipo limitato che causa il crash del sistema. Il problema \u00e8 emerso nel 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 e inclusa nel kernel il 19 luglio. Le principali distribuzioni hanno gi\u00e0 preparato aggiornamenti dei pacchetti con il kernel (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch).    <\/p>\n<p>La vulnerabilit\u00e0 \u00e8 causata dall'assenza di un controllo sul risultato della conversione del tipo size_t in int prima di eseguire operazioni nel codice seq_file, che crea file da una sequenza di registrazioni. La mancanza di controllo pu\u00f2 portare a scritture oltre i confini del buffer durante la creazione, il montaggio e la rimozione di strutture di directory con un livello di annidamento molto elevato (dimensione del percorso superiore a 1 GB). Di conseguenza, un aggressore pu\u00f2 ottenere la scrittura di una stringa di 10 byte \u00ab\/\/deleted\u00bb con uno spostamento \u00ab- 2 GB \u2014 10 byte\u00bb, che indica un'area immediatamente precedente il buffer allocato.    <\/p>\n<p>L'exploit preparato richiede 5 GB di memoria e 1 milione di inode liberi. Il funzionamento dell'exploit consiste nella creazione, tramite la chiamata mkdir(), di un'altezza di circa un milione di directory annidate per raggiungere una dimensione del percorso file superiore a 1 GB. Questa directory viene montata attraverso un bind-mount in uno spazio dei nomi degli identificatori utente (user namespace) separato, dopodich\u00e9 viene eseguita la funzione rmdir() per la sua eliminazione. Contemporaneamente, viene creato un thread che carica un piccolo programma eBPF, il quale si blocca nella fase successiva alla verifica del pseudocodice eBPF, ma prima della sua JIT-compilazione.     <\/p>\n<p>In uno spazio dei nomi non privilegiato degli identificatori utente, viene aperto il file \/proc\/self\/mountinfo e inizia la lettura di un lungo percorso della directory montata tramite bind-mount, il che provoca la scrittura della stringa \u00ab\/\/deleted\u00bb 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 eBPF gi\u00e0 controllato, ma non ancora compilato.   <\/p>\n<p>Successivamente, a livello del programma eBPF, la scrittura non controllata oltre il buffer si trasforma 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[] nella memoria del kernel e lo sovrascrive con il percorso \u00ab\/sbin\/modprobe\u00bb, il che consente di avviare qualsiasi file eseguibile con privilegi di root in caso di chiamata request_module(), che viene eseguita, ad esempio, durante la creazione di un socket netlink.    <\/p>\n<p>I ricercatori presentano diversi metodi di aggiramento della protezione, che sono efficaci solo per un exploit specifico, ma non risolvono il problema stesso. Si raccomanda di impostare il parametro \u00ab\/proc\/sys\/kernel\/unprivileged_userns_clone\u00bb a 0 per vietare il montaggio di directory in uno spazio dei nomi degli identificatori utente separato, e \u00ab\/proc\/sys\/kernel\/unprivileged_bpf_disabled\u00bb a 1 per vietare il caricamento di programmi eBPF nel kernel.  <center>  <iframe loading=\"lazy\" title=\"Sequoia: Una vulnerabilit\u00e0 di escalation dei privilegi locali 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'opzione alternativa di attacco relativa all'utilizzo del meccanismo FUSE invece del 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 rivelato che, nel tentativo di montare tramite FUSE una directory con una dimensione del percorso superiore a 8 MB, si verifica l'esaurimento della memoria dello stack nel processo di inizializzazione del gestore (PID1), causando un crash che porta il sistema in uno stato di \u00abpanic\u00bb.     <\/p>\n<p>Il problema \u00e8 legato al fatto che systemd monitora e analizza il contenuto di \/proc\/self\/mountinfo, e gestisce ciascun punto di montaggio nella funzione unit_name_path_escape(), in cui viene eseguita l'operazione strdupa(), posizionando i dati nello stack invece che nella memoria allocata dinamicamente. Poich\u00e9 la dimensione massima dello stack \u00e8 limitata tramite RLIMIT_STACK, l'elaborazione di un percorso troppo grande per il punto di montaggio provoca il crash del processo PID1 e l'arresto del sistema. Per l'attacco si pu\u00f2 utilizzare un semplice modulo FUSE insieme all'uso di una directory con un alto livello di annidamento, il cui percorso supera gli 8 MB.    <\/p>\n<p>Il problema si manifesta a partire da systemd 220 (aprile 2015), ed \u00e8 gi\u00e0 stato risolto nel repository principale di systemd e correttamente sistemato 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 provoca un crash durante l'elaborazione di \/proc\/self\/mountinfo. Inoltre, nel 2018 si \u00e8 verificata una situazione simile: 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.0.1 - 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.0.1\" \/>\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 Linux e denial of service in systemd | ProHoster","description":"I ricercatori di sicurezza della societ\u00e0 Qualys hanno rivelato i dettagli di due vulnerabilit\u00e0 che interessano il kernel 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}]}}