{"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\/pt\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti","title":{"rendered":"O zero-copy est\u00e1 sendo removido do AF_ALG no Linux por quest\u00f5es de seguran\u00e7a","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>No subsistema de criptografia do Linux, est\u00e1 sendo preparado o encerramento do suporte <strong>zero-copy<\/strong> da interface <strong>AF_ALG<\/strong> para tipos de algoritmos <strong>SKCIPHER<\/strong> e <strong>AEAD<\/strong>. A altera\u00e7\u00e3o j\u00e1 est\u00e1 no reposit\u00f3rio cryptodev e deve ser enviada para a janela de fus\u00e3o <strong>Linux 7.2<\/strong>, que deve abrir em junho. O motivo foram as crescentes preocupa\u00e7\u00f5es em torno da seguran\u00e7a dos mecanismos de zero-copy no n\u00facleo, especialmente ap\u00f3s vulnerabilidades recentes no c\u00f3digo criptogr\u00e1fico do Linux.<\/p>\n<p><noindex><noindex><\/p>\n<p><strong>AF_ALG<\/strong> seja <a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/v6.1\/crypto\/userspace-if.html\">a interface do usu\u00e1rio<\/a> para a API de criptografia do n\u00facleo Linux. Atrav\u00e9s dela, programas podem acessar implementa\u00e7\u00f5es de cifras, hashes e algoritmos AEAD no n\u00facleo como se fossem sockets. A documenta\u00e7\u00e3o do Linux descreve separadamente para AF_ALG o modo de zero-copy por meio de splice() e vmsplice(), onde o n\u00facleo tenta evitar c\u00f3pias desnecess\u00e1rias de dados na mem\u00f3ria do n\u00facleo.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p><noindex><\/p>\n<p>O problema \u00e9 que, no caso de AF_ALG, esse ganho de desempenho n\u00e3o se mostrou t\u00e3o relevante, enquanto os riscos s\u00e3o muito altos. O autor da altera\u00e7\u00e3o, o desenvolvedor do subsistema criptogr\u00e1fico do Linux, Eric Biggers do Google, <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/1071203\/\">referiu<\/a>, afirma que o zero-copy permite que o espa\u00e7o do usu\u00e1rio execute opera\u00e7\u00f5es criptogr\u00e1ficas diretamente sobre as p\u00e1ginas do cache de p\u00e1ginas de arquivos, como o bin\u00e1rio su, al\u00e9m de criar condi\u00e7\u00f5es para vulnerabilidades TOCTOU, quando a mem\u00f3ria pode ser alterada ao mesmo tempo que uma opera\u00e7\u00e3o ocorre sobre ela.<\/p>\n<p><\/noindex><\/p>\n<p>Em outras palavras, um mecanismo que \u00e9 \u00fatil em entrada\/sa\u00edda de rede ou de arquivos no AF_ALG parece uma otimiza\u00e7\u00e3o excessivamente arriscada. O pr\u00f3prio AF_ALG, segundo o desenvolvedor, atualmente \u00e9 mantido principalmente por compatibilidade retroativa com um pequeno conjunto de programas, como o iwd, que ainda n\u00e3o foram convertidos para cripto no espa\u00e7o do usu\u00e1rio. Originalmente, o AF_ALG foi pensado para acesso a aceleradores de criptografia de hardware, mas na pr\u00e1tica se mostrou uma interface n\u00e3o muito eficiente para essa tarefa.<\/p>\n<p>\u00c9 importante ressaltar que n\u00e3o se trata da remo\u00e7\u00e3o completa de splice() ou sendfile() para AF_ALG. A altera\u00e7\u00e3o \u00e9 descrita como uma \"quebra suave\" de compatibilidade: a transfer\u00eancia de dados em solicita\u00e7\u00f5es AF_ALG atrav\u00e9s de splice() e sendfile() continuar\u00e1 funcionando, mas agora o n\u00facleo far\u00e1 uma c\u00f3pia interna est\u00e1vel dos dados antes da opera\u00e7\u00e3o criptogr\u00e1fica. O desempenho pode diminuir em alguns casos, mas a API do usu\u00e1rio formalmente n\u00e3o \u00e9 quebrada.<\/p>\n<p>\u00c9 destacado que, por enquanto, o zero-copy est\u00e1 sendo removido de <strong>skcipher<\/strong> e <strong>aead<\/strong>. O suporte para o tipo <strong>hash<\/strong> ser\u00e1 considerado separadamente.<\/p>\n<p><noindex><\/p>\n<p>O contexto da mudan\u00e7a \u00e9 desagrad\u00e1vel. No final de abril, foi descoberta uma vulnerabilidade <strong><a rel=\"nofollow\" href=\"https:\/\/xint.io\/blog\/copy-fail-linux-distributions\">Falha de C\u00f3pia<\/a><\/strong> (<strong>CVE-2026-31431<\/strong>) no algif_aead, que \u00e9 precisamente na interface de criptografia do usu\u00e1rio AF_ALG. Pesquisadores mostraram que a combina\u00e7\u00e3o de AF_ALG, splice() e caracter\u00edsticas do processamento AEAD permitia que um usu\u00e1rio n\u00e3o privilegiado danificasse o cache de p\u00e1ginas, incluindo p\u00e1ginas correspondentes a bin\u00e1rios setuid, e obtivesse eleva\u00e7\u00e3o de privil\u00e9gios para root.<\/p>\n<p><\/noindex><br \/>\n<noindex><\/p>\n<p>A apari\u00e7\u00e3o <a rel=\"nofollow\" href=\"https:\/\/www.sysdig.com\/blog\/cve-2026-31431-copy-fail-linux-kernel-flaw-lets-local-users-gain-root-in-seconds\">Falha de C\u00f3pia<\/a> estava relacionada \u00e0 otimiza\u00e7\u00e3o de 2017, que transferiu as opera\u00e7\u00f5es AEAD para processamento \"in-place\"; ao transferir arquivos via splice() em AF_ALG, o n\u00facleo operava n\u00e3o com c\u00f3pias, mas com refer\u00eancias \u00e0s p\u00e1ginas do cache de p\u00e1ginas. Como resultado, parte dos dados que eram considerados apenas de entrada podiam acabar em um scatterlist grav\u00e1vel.<\/p>\n<p><\/noindex><\/p>\n<p>A remo\u00e7\u00e3o do zero-copy do AF_ALG n\u00e3o \u00e9 uma corre\u00e7\u00e3o pontual apenas para uma vulnerabilidade. Em vez disso, \u00e9 uma tentativa de eliminar toda uma classe de cen\u00e1rios arriscados de uma UAPI pouco utilizada, onde o ganho da otimiza\u00e7\u00e3o n\u00e3o justifica a complexidade e as consequ\u00eancias potenciais. Para usu\u00e1rios comuns, a mudan\u00e7a provavelmente permanecer\u00e1 impercept\u00edvel; para programas raros que utilizam ativamente o AF_ALG atrav\u00e9s de splice() ou sendfile(), pode haver uma queda de desempenho devido \u00e0 c\u00f3pia adicional.<\/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.3 - 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\/pt\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Zero-copy do AF_ALG no Linux est\u00e1 sendo removido por raz\u00f5es de seguran\u00e7a | ProHoster","description":"No subsistema de criptografia do Linux, est\u00e1 sendo preparada a remo\u00e7\u00e3o do suporte zero-copy da interface AF_ALG para tipos de algoritmos SKCIPHER e AEAD.","canonical_url":"https:\/\/prohoster.info\/pt\/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":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/181666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=181666"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/181666\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=181666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=181666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=181666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}