{"id":181666,"date":"2026-05-22T18:25:08","date_gmt":"2026-05-22T16:25:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti"},"modified":"2026-05-22T18:25:08","modified_gmt":"2026-05-22T16:25:08","slug":"iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti","title":{"rendered":"In Linux si rimuove lo zero-copy da AF_ALG per motivi di sicurezza","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nel sottosistema di crittografia di Linux si prepara la rimozione del supporto <strong>zero-copy<\/strong> dall'interfaccia <strong>AF_ALG<\/strong> per i tipi di algoritmo <strong>SKCIPHER<\/strong> e <strong>AEAD<\/strong>. La modifica \u00e8 gi\u00e0 presente nell'albero di cryptodev e ci si aspetta che venga inviata nella finestra di merge <strong>Linux 7.2<\/strong>, che dovrebbe aprirsi a giugno. Questa decisione \u00e8 stata presa in seguito a crescenti preoccupazioni sulla sicurezza dei meccanismi zero-copy nel kernel, soprattutto dopo recenti vulnerabilit\u00e0 nel codice crittografico di Linux.<\/p>\n<p><noindex><noindex><\/p>\n<p><strong>AF_ALG<\/strong> \u00e8 <a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/v6.1\/crypto\/userspace-if.html\">interfaccia utente<\/a> per l'API crittografica del kernel di Linux. Attraverso di essa, i programmi possono accedere alle implementazioni di cifrature, hash e algoritmi AEAD nel kernel come se fossero socket. La documentazione di Linux descrive separatamente per AF_ALG la modalit\u00e0 zero-copy tramite splice() e vmsplice(), in cui il kernel cerca di evitare copie non necessarie dei dati nella memoria del kernel.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p><noindex><\/p>\n<p>Il problema \u00e8 che nel caso di AF_ALG questo guadagno di prestazioni si \u00e8 rivelato non cos\u00ec significativo, mentre i rischi sono troppo elevati. L'autore della modifica, lo sviluppatore del sottosistema crittografico di Linux Eric Biggers di Google, <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/1071203\/\">ha indicato<\/a>, afferma che zero-copy consente allo spazio utente di eseguire operazioni crittografiche direttamente sulle pagine della cache dei file, come il binario su, e crea anche condizioni per vulnerabilit\u00e0 TOCTOU, quando la memoria pu\u00f2 cambiare contemporaneamente all'operazione su di essa.<\/p>\n<p><\/noindex><\/p>\n<p>In altre parole, un meccanismo utile per l'input\/output di rete o file, in AF_ALG appare come un'ottimizzazione troppo rischiosa. Lo stesso AF_ALG, secondo lo sviluppatore, viene attualmente preservato principalmente per garantire la compatibilit\u00e0 retroattiva con un piccolo gruppo di programmi, come iwd, che non sono ancora stati migrati alla crittografia nello spazio utente. Originariamente, AF_ALG era pensato anche per accedere agli acceleratori hardware di crittografia, ma si \u00e8 rivelato non troppo efficace per questo compito.<\/p>\n<p>\u00c8 importante notare che non si tratta di una rimozione completa di splice() o sendfile() per AF_ALG. La modifica \u00e8 descritta come una \"soft break\" della compatibilit\u00e0: il trasferimento di dati nelle richieste AF_ALG tramite splice() e sendfile() continuer\u00e0 a funzionare, ma il kernel ora far\u00e0 una copia interna stabile dei dati prima dell'operazione crittografica. Le prestazioni in alcuni casi possono diminuire, ma l'API utente non viene formalmente interrotta.<\/p>\n<p>Si sottolinea separatamente che al momento zero-copy viene rimosso da <strong>skcipher<\/strong> e <strong>aead<\/strong>. Il supporto per il tipo <strong>hash<\/strong> verr\u00e0 esaminato separatamente.<\/p>\n<p><noindex><\/p>\n<p>Il contesto della modifica \u00e8 sgradevole. Alla fine di aprile \u00e8 stata scoperta una vulnerabilit\u00e0 <strong><a rel=\"nofollow\" href=\"https:\/\/xint.io\/blog\/copy-fail-linux-distributions\">Copy Fail<\/a><\/strong> (<strong>CVE-2026-31431<\/strong>) in algif_aead, cio\u00e8 proprio nell'interfaccia crittografica utente AF_ALG. I ricercatori hanno dimostrato che la combinazione di AF_ALG, splice() e le peculiarit\u00e0 dell'elaborazione AEAD consentivano a un utente non privilegiato di danneggiare la cache delle pagine, comprese le pagine associate ai binari setuid, e di ottenere un'elevazione dei privilegi a root.<\/p>\n<p><\/noindex><br \/>\n<noindex><\/p>\n<p>L'emergere <a rel=\"nofollow\" href=\"https:\/\/www.sysdig.com\/blog\/cve-2026-31431-copy-fail-linux-kernel-flaw-lets-local-users-gain-root-in-seconds\">Copy Fail<\/a> \u00e8 stato legato all'ottimizzazione del 2017, che ha trasferito le operazioni AEAD all'elaborazione \"in loco\"; durante il trasferimento di un file tramite splice() in AF_ALG, il kernel non lavorava con una copia, ma con riferimenti alle pagine della cache. Di conseguenza, parte dei dati, considerati solo di input, poteva finire nel scatterlist scrivibile.<\/p>\n<p><\/noindex><\/p>\n<p>L'eliminazione dello zero-copy da AF_ALG non \u00e8 una correzione puntuale di una sola vulnerabilit\u00e0. Piuttosto, \u00e8 un tentativo di rimuovere un'intera classe di scenari rischiosi da un UAPI poco utilizzato, dove il guadagno dall'ottimizzazione non giustifica la complessit\u00e0 e le potenziali conseguenze. Per gli utenti normali, la modifica probabilmente rimarr\u00e0 inosservata; per i rari programmi che utilizzano attivamente AF_ALG tramite splice() o sendfile(), \u00e8 possibile un calo delle prestazioni a causa della copia aggiuntiva.<\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/kernel\/18296321\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 Linux \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 zero-copy \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 AF_ALG \u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 SKCIPHER \u0438 AEAD. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0434\u0435\u0440\u0435\u0432\u0435 cryptodev \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0432 \u043e\u043a\u043d\u043e \u0441\u043b\u0438\u044f\u043d\u0438\u044f Linux 7.2, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c\u0441\u044f \u0432 \u0438\u044e\u043d\u0435. \u041f\u043e\u0432\u043e\u0434\u043e\u043c \u0441\u0442\u0430\u043b\u0438 \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0435 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u044f \u0432\u043e\u043a\u0440\u0443\u0433 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 zero-copy-\u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0434\u0430\u0432\u043d\u0438\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043a\u043e\u0434\u0435 Linux. AF_ALG [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181666","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 Linux \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 zero-copy \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 AF_ALG \u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 SKCIPHER \u0438 AEAD.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.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\udd47\u0418\u0437 AF_ALG \u0432 Linux \u0443\u0431\u0438\u0440\u0430\u044e\u0442 zero-copy \u0438\u0437 \u0441\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 Linux \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 zero-copy \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 AF_ALG \u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 SKCIPHER \u0438 AEAD.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti\" \/>\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=\"2026-05-22T16:25:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-22T16:25:08+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\udd47Da AF_ALG in Linux rimuovono lo zero-copy per motivi di sicurezza | ProHoster","description":"Nella sottosistema crittografia di Linux si sta preparando l'eliminazione del supporto zero-copy dall'interfaccia AF_ALG per i tipi di algoritmi SKCIPHER e AEAD.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti","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\udd47\u0418\u0437 AF_ALG \u0432 Linux \u0443\u0431\u0438\u0440\u0430\u044e\u0442 zero-copy \u0438\u0437 \u0441\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 | ProHoster","og:description":"\u0412 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 Linux \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 zero-copy \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 AF_ALG \u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 SKCIPHER \u0438 AEAD.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti","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":"2026-05-22T16:25:08+00:00","article:modified_time":"2026-05-22T16:25:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/181666","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=181666"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/181666\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=181666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=181666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=181666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}