{"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\/de\/blog\/news\/iz-af_alg-v-linux-ubirayut-zero-copy-iz-soobrazhenij-bezopasnosti","title":{"rendered":"Im Linux wird zero-copy aus Sicherheitsgr\u00fcnden aus AF_ALG entfernt.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Im Kryptographiemodul von Linux wird die Unterst\u00fctzung entfernt. <strong>zero-copy<\/strong> aus der Schnittstelle <strong>AF_ALG<\/strong> f\u00fcr Algorithmentypen <strong>SKCIPHER<\/strong> und <strong>AEAD<\/strong>. Die \u00c4nderung befindet sich bereits im cryptodev-Baum und wird zur Zusammenf\u00fchrung eingereicht. <strong>Linux 7.2<\/strong>, das im Juni ge\u00f6ffnet werden soll. Anlass sind wachsende Bedenken hinsichtlich der Sicherheit von zero-copy-Mechanismen im Kernel, insbesondere nach den j\u00fcngsten Schwachstellen im kryptographischen Code von Linux.<\/p>\n<p><noindex><noindex><\/p>\n<p><strong>AF_ALG<\/strong> sind <a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/v6.1\/crypto\/userspace-if.html\">Benutzeroberfl\u00e4che<\/a> zum kryptographischen API des Linux-Kernels. Dar\u00fcber k\u00f6nnen Programme auf die Implementierungen von Verschl\u00fcsselung, Hashes und AEAD-Algorithmen im Kernel wie auf Sockets zugreifen. Die Linux-Dokumentation beschreibt separat den zero-copy-Modus f\u00fcr AF_ALG \u00fcber splice() und vmsplice(), wobei der Kernel versucht, \u00fcberfl\u00fcssiges Kopieren von Daten in den Kernel-Speicher zu vermeiden.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p><noindex><\/p>\n<p>Das Problem ist, dass dieser Leistungsgewinn im Fall von AF_ALG nicht so wichtig war, w\u00e4hrend die Risiken zu gro\u00df sind. Der Autor der \u00c4nderung, der Entwickler des kryptographischen Moduls von Linux, Eric Biggers von Google, <a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/1071203\/\">wies darauf hin<\/a>, dass zero-copy es dem Benutzerspeicher erm\u00f6glicht, kryptographische Operationen direkt \u00fcber die Seiten des Page Cache von Dateien, wie zum Beispiel die Bin\u00e4rdatei su, durchzuf\u00fchren, und gleichzeitig Bedingungen f\u00fcr TOCTOU-Schwachstellen schafft, bei denen der Speicher gleichzeitig mit der Operation daran ge\u00e4ndert werden kann.<\/p>\n<p><\/noindex><\/p>\n<p>Mit anderen Worten, ein Mechanismus, der im Netzwerk- oder Dateieingangs-\/ausgabe n\u00fctzlich ist, erscheint bei AF_ALG zu gef\u00e4hrlich als Optimierung. AF_ALG wird laut dem Entwickler haupts\u00e4chlich beibehalten, um die Abw\u00e4rtskompatibilit\u00e4t mit einer kleinen Anzahl von Programmen, wie z. B. iwd, zu gew\u00e4hrleisten, die noch nicht auf kryptografische Implementierungen im Benutzerspeicher umgestellt wurden. Urspr\u00fcnglich wurde AF_ALG auch f\u00fcr den Zugriff auf Hardware-Krypto-Beschleuniger entwickelt, hat sich jedoch in der Praxis als nicht besonders effiziente Schnittstelle f\u00fcr diese Aufgabe erwiesen.<\/p>\n<p>Es ist wichtig zu beachten, dass splice() oder sendfile() f\u00fcr AF_ALG nicht vollst\u00e4ndig entfernt werden. Die \u00c4nderung wird als \u201eweicher Bruch\u201c der Kompatibilit\u00e4t beschrieben: Die Daten\u00fcbertragung in AF_ALG-Anfragen \u00fcber splice() und sendfile() wird weiterhin funktionieren, aber der Kernel erstellt jetzt eine interne stabilisierte Kopie der Daten vor der kryptographischen Operation. In einigen F\u00e4llen k\u00f6nnte die Leistung sinken, jedoch bleibt die Benutzer-API formal intakt.<\/p>\n<p>Es wird besonders betont, dass zero-copy vorerst aus <strong>skcipher<\/strong> und <strong>aead entfernt wird.<\/strong>. Unterst\u00fctzung f\u00fcr den Typ <strong>hash<\/strong> wird separat betrachtet.<\/p>\n<p><noindex><\/p>\n<p>Der Kontext der \u00c4nderung ist unangenehm. Ende April wurde eine Schwachstelle entdeckt <strong><a rel=\"nofollow\" href=\"https:\/\/xint.io\/blog\/copy-fail-linux-distributions\">Kopierfehler<\/a><\/strong> (<strong>CVE-2026-31431<\/strong>) in algif_aead, also genau im benutzerseitigen Krypto-Interface AF_ALG. Forscher haben gezeigt, dass die Kombination von AF_ALG, splice() und den Besonderheiten der AEAD-Verarbeitung es einem nicht privilegierten Benutzer erm\u00f6glichte, den Seiten-Cache zu besch\u00e4digen, einschlie\u00dflich Seiten, die entsprechenden setuid-Bin\u00e4rdateien entsprachen, und um Privilegien bis zum Root zu erlangen.<\/p>\n<p><\/noindex><br \/>\n<noindex><\/p>\n<p>Das Auftreten <a rel=\"nofollow\" href=\"https:\/\/www.sysdig.com\/blog\/cve-2026-31431-copy-fail-linux-kernel-flaw-lets-local-users-gain-root-in-seconds\">Kopierfehler<\/a> stand im Zusammenhang mit der Optimierung von 2017, die AEAD-Operationen auf die Verarbeitung \u201ein situ\u201c umstellte; beim \u00dcbertragen von Dateien \u00fcber splice() in AF_ALG arbeitete der Kernel nicht mit einer Kopie, sondern mit Verweisen auf Seiten des Seiten-Caches. Infolgedessen konnten Teile der Daten, die nur als Eingabewerte galten, in die schreibbare Scatterlist gelangen.<\/p>\n<p><\/noindex><\/p>\n<p>Die Entfernung von Zero-Copy aus AF_ALG ist keine punktuelle Behebung nur einer Schwachstelle. Vielmehr ist es der Versuch, eine ganze Klasse riskanter Szenarien aus dem wenig genutzten UAPI zu entfernen, wo der Gewinn aus der Optimierung den Aufwand und die potenziellen Konsequenzen nicht rechtfertigt. F\u00fcr normale Benutzer wird die \u00c4nderung wahrscheinlich unbemerkt bleiben; f\u00fcr seltene Programme, die AF_ALG aktiv \u00fcber splice() oder sendfile() verwenden, kann es zu Leistungseinbu\u00dfen aufgrund zus\u00e4tzlicher Kopiervorg\u00e4nge kommen.<\/p>\n<p>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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 wird aus Sicherheitsgr\u00fcnden aus AF_ALG in Linux entfernt | ProHoster","description":"Im Kryptographiesubsystem von Linux wird die Unterst\u00fctzung von Zero-Copy aus der AF_ALG-Schnittstelle f\u00fcr die Algorithmustypen SKCIPHER und AEAD entfernt.","canonical_url":"https:\/\/prohoster.info\/de\/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":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/181666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=181666"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/181666\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=181666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=181666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=181666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}