{"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\/sv\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti","title":{"rendered":"Zero-copy tas bort fr\u00e5n AF_ALG i Linux av s\u00e4kerhetssk\u00e4l","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I subsystems f\u00f6r kryptografi i Linux f\u00f6rbereds borttagning av st\u00f6d <strong>zero-copy<\/strong> fr\u00e5n gr\u00e4nssnittet <strong>AF_ALG<\/strong> f\u00f6r typ av algoritmer <strong>SKCIPHER<\/strong> och <strong>AEAD<\/strong>. \u00c4ndringen finns redan i cryptodev-tr\u00e4det och v\u00e4ntas skickas f\u00f6r sammanslagning <strong>Linux 7.2<\/strong>, som b\u00f6r \u00f6ppna i juni. Anledningen \u00e4r v\u00e4xande farh\u00e5gor kring s\u00e4kerheten hos zero-copy-mekanismer i k\u00e4rnan, s\u00e4rskilt efter nyligen uppt\u00e4ckta s\u00e5rbarheter i Linux kryptografikod.<\/p>\n<p><noindex><noindex><\/p>\n<p><strong>AF_ALG<\/strong> \u2014 detta \u00e4r <a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/v6.1\/crypto\/userspace-if.html\">anv\u00e4ndargr\u00e4nssnittet<\/a> till Linux k\u00e4rnans kryptografiska API. Genom det kan program f\u00e5 tillg\u00e5ng till implementationer av chiffer, hashfunktioner och AEAD-algoritmer i k\u00e4rnan som sockets. Linux-dokumentationen beskriver separat zero-copy-l\u00e4ge f\u00f6r AF_ALG genom splice() och vmsplice(), d\u00e4r k\u00e4rnan str\u00e4var efter att undvika on\u00f6dig kopiering av data till k\u00e4rnminnet.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p><noindex><\/p>\n<p>Problemet \u00e4r att den prestandavinsten f\u00f6r AF_ALG visade sig vara mindre viktig, medan riskerna \u00e4r f\u00f6r stora. F\u00f6rfattaren till f\u00f6r\u00e4ndringen, utvecklaren av Linux kryptografiska subsystem Eric Biggers fr\u00e5n Google, <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/1071203\/\">att<\/a>, p\u00e5pekar att zero-copy till\u00e5ter anv\u00e4ndarutrymmet att utf\u00f6ra kryptografiska operationer direkt p\u00e5 sidorna i page cache-filer, som till exempel bin\u00e4rsu, och skapar dessutom f\u00f6ruts\u00e4ttningar f\u00f6r TOCTOU-s\u00e5rbarheter, d\u00e4r minnet kan \u00e4ndras samtidigt med operationen p\u00e5 det.<\/p>\n<p><\/noindex><\/p>\n<p>Med andra ord, mekanismen som \u00e4r anv\u00e4ndbar i n\u00e4tverks- eller filin- och utdata, verkar i AF_ALG som en alltf\u00f6r farlig optimering. Enligt utvecklaren bevaras AF_ALG i huvudsak f\u00f6r bak\u00e5tkompatibilitet med ett litet antal program, som iwd, som \u00e4nnu inte har \u00f6verg\u00e5tt till kryptografi i anv\u00e4ndaruprymmet. Ursprunligen var AF_ALG avsedd f\u00f6r att ge \u00e5tkomst till h\u00e5rdvarukryptoprocessorer, men visade sig i praktiken vara ett ineffektivt gr\u00e4nssnitt f\u00f6r denna uppgift.<\/p>\n<p>Det \u00e4r viktigt att notera att det inte handlar om att helt ta bort splice() eller sendfile() fr\u00e5n AF_ALG. \u00c4ndringen beskrivs som en \"mjukt brott\" av kompatibilitet: \u00f6verf\u00f6ring av data till AF_ALG-f\u00f6rfr\u00e5gningar via splice() och sendfile() kommer fortsatt att fungera, men k\u00e4rnan kommer nu att g\u00f6ra en intern stabil kopia av data innan kryptografisk operation. Prestanda kan i vissa fall minska, men anv\u00e4ndarens API bryts inte formellt.<\/p>\n<p>Det p\u00e5pekas ocks\u00e5 s\u00e4rskilt att zero-copy tas bort fr\u00e5n <strong>skcipher<\/strong> och <strong>aead<\/strong>. St\u00f6d f\u00f6r typen <strong>hash<\/strong> kommer att \u00f6verv\u00e4gas separat.<\/p>\n<p><noindex><\/p>\n<p>Kontexten f\u00f6r f\u00f6r\u00e4ndringen \u00e4r obehaglig. I slutet av april avsl\u00f6jades en s\u00e5rbarhet <strong><a rel=\"nofollow\" href=\"https:\/\/xint.io\/blog\/copy-fail-linux-distributions\">Copy Fail<\/a><\/strong> (<strong>CVE-2026-31431<\/strong>) i algif_aead, det vill s\u00e4ga just i anv\u00e4ndarens kryptointerface AF_ALG. Forskare har visat att kombinationen av AF_ALG, splice() och egenskaperna hos AEAD-behandling gjorde det m\u00f6jligt f\u00f6r icke-privilegerade anv\u00e4ndare att skada page cache, inklusive sidor som motsvarade setuid-bin\u00e4rer, och att f\u00e5 en f\u00f6rh\u00f6jning av privilegier till root.<\/p>\n<p><\/noindex><br \/>\n<noindex><\/p>\n<p>Uppkomsten <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> var kopplad till optimeringen fr\u00e5n 2017 som \u00f6verf\u00f6rde AEAD-operationer till \u00abin-place\u00bb behandling; n\u00e4r en fil \u00f6verf\u00f6rdes via splice() i AF_ALG arbetade k\u00e4rnan inte med en kopia utan med referenser till sidor i page cache. Som ett resultat kunde en del av de data som ans\u00e5gs vara endast ing\u00e5ngar hamna i den skrivbara scatterlistan.<\/p>\n<p><\/noindex><\/p>\n<p>Borttagandet av zero-copy fr\u00e5n AF_ALG \u00e4r inte en punktl\u00f6s \u00e5tg\u00e4rd f\u00f6r en enda s\u00e5rbarhet. Snarare \u00e4r det ett f\u00f6rs\u00f6k att ta bort en hel klass av riskabla scenarier fr\u00e5n det s\u00e4llan anv\u00e4nda UAPI, d\u00e4r vinsten fr\u00e5n optimering inte motiverar komplexiteten och potentiella konsekvenser. F\u00f6r vanliga anv\u00e4ndare kommer f\u00f6r\u00e4ndringen sannolikt att f\u00f6rbli osynlig; f\u00f6r s\u00e4llsynta program som aktivt anv\u00e4nder AF_ALG genom splice() eller sendfile() kan det bli en prestandaf\u00f6rlust p\u00e5 grund av ytterligare kopiering.<\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/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.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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 tas bort fr\u00e5n AF_ALG i Linux av s\u00e4kerhetssk\u00e4l | ProHoster","description":"I Linuxs kryptosystem f\u00f6rbereds borttagningen av zero-copy-st\u00f6det fr\u00e5n AF_ALG-gr\u00e4nssnittet f\u00f6r algoritmtyperna SKCIPHER och AEAD.","canonical_url":"https:\/\/prohoster.info\/sv\/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":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/181666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=181666"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/181666\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=181666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=181666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=181666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}