- CopyFail, eine lokale Privilegieneskalations-Schwachstelle im Linux-Kernel, gehört in letzter Zeit zu den schwerwiegendsten „make-me-root“-Schwachstellen im Kernel (die normale Nutzer zu Root machen)
- Die Schwachstelle wurde mit einem bestimmten Commit in Kernel-Version 4.14 eingeführt und fällt zeitlich mit dem Zeitpunkt zusammen, an dem die In-Place-Optimierung für das im Exploit von CopyFail genutzte Modul
authencesnhinzugefügt wurde - Der Fix wurde in Kernel 6.18.22, 6.19.12 und 7.0 aufgenommen; 6.18.22 und 6.19.12 wurden am 11. April mit rückportiertem Fix veröffentlicht
- In den weiterhin weit verbreiteten Longterm-Kernels (6.12, 6.6, 6.1, 5.15, 5.10) ist der Fix jedoch nicht enthalten und er ist auch in der upstream stable queue noch nicht zu sehen
- Da das Problem bereits 2017 eingeführt wurde, muss noch geprüft werden, ob auch diese älteren Longterm-Kernels betroffen sind
- Das Patch für den Fix lässt sich nicht clean apply auf ältere Kernel anwenden; wegen einiger API-Änderungen ist selbst ein Backport nur schwer mit Sicherheit umzusetzen
- In Umgebungen, in denen sofortiges Handeln nötig ist, kann als Übergangsmaßnahme ein Patch zum Deaktivieren des IPSec-Moduls
authencesneingesetzt werden; auch ohne IPSec-Expertise ist das „nicht perfekt, aber die weniger schlechte Wahl“ - Das eigentliche strukturelle Problem liegt also im Offenlegungsprozess für Linux-Kernel-Schwachstellen selbst:
- Linux-Kernel-Schwachstellen werden den einzelnen Distributionen nicht vorab gemeldet, sofern die meldende Person nicht selbst die Mailingliste
linux-distros(ein nicht öffentlicher Kanal der Distribution-Sicherheitsteams) informiert - Auch im Fall von CopyFail gab es keine Vorwarnung (Heads-up) über die
linux-distros-ML - Das bedeutet, dass die Sicherheitsteams wichtiger Distributionen wie Ubuntu, RHEL und SUSE vor der Offenlegung der Schwachstelle keine Gelegenheit hatten, Patches vorzubereiten
- Linux-Kernel-Schwachstellen werden den einzelnen Distributionen nicht vorab gemeldet, sofern die meldende Person nicht selbst die Mailingliste
2 Kommentare
Der Blogbeitrag wirkt zwar etwas kindisch, aber ich denke, dass die systemischen Mängel größer sind, als es als bloßes Ärgernis abzutun.
Hacker-News-Kommentare
Sam James, der Autor des verlinkten Beitrags, ist Gentoo-Entwickler
Wie auch immer: Das kommt fast einer Katastrophe gleich, und es war äußerst unverantwortlich, den Exploit offenzulegen, bevor die Distributionen einen Fix ausliefern konnten
Man weiß nicht, wie viele Shared-Hosting-Anbieter dadurch kompromittiert wurden
Besorgniserregend ist auch, dass es offenbar keine Kommunikation zwischen dem kernel security team und den Distribution-Maintainern gibt
Man würde erwarten, dass Ersteres Letztere informiert, aber in der Praxis scheint die Verantwortung bei der Person zu liegen, die die Schwachstelle gefunden hat
Zur Einordnung: Google Project Zero nutzt ähnlich die „90+30“-Policy: https://projectzero.google/vulnerability-disclosure-policy.h...
Das eigentliche Problem ist, dass es keinen Kommunikationskanal zwischen dem kernel security team und den Distribution-Maintainern gibt
Die Person, die die Schwachstelle entdeckt, sollte nicht dafür verantwortlich sein, jeden Downstream einzeln zu informieren
Das Kernel-Team hätte die Liste der Distributions-Sicherheitsverantwortlichen über die Kritikalität des Patches und den Offenlegungstermin in 30 Tagen informieren müssen
Auf der Veröffentlichungsseite stehen Formulierungen wie „Is your software AI-era safe?“, „Copy Fail was surfaced by Xint Code about an hour of scan time against the Linux crypto/ subsystem“, „[Try Xint Code]“
Das ist eine Art, das Produkt attraktiver wirken zu lassen, je größer die Verwirrung wird
Der Ausdruck Responsible Disclosure ist wie „Secure Boot“ sprachlich sehr geschickt konstruiert und wirkt in der Praxis eher wie Reputationsmanagement für die Unternehmen und Stiftungen zwischen mir und meinem Computer
Diese Organisationen interessieren sich weniger dafür, ob mein einzelner Rechner verwundbar ist, sondern eher dafür, dass niemand sagen kann „RHEL ist verwundbar“ oder „Ubuntu ist verwundbar“
Die Schwachstelle existiert ohnehin, also ist es besser, das Risiko zu kennen und mindern zu können, als einfach nur auf einen stillen Fix zu warten
Ich halte eine sofortige Offenlegung für die einzige nicht unverantwortliche Wahl
Sich gegenseitig nicht vertrauende Tenant-Workloads unter einem einzigen Shared Kernel laufen zu lassen, ist keine gute Idee
Kernel-LPEs sind nicht selten, dieser hier war nur besonders simpel und portabel, und die primitive Capability selbst kommt beinahe einer Commodity im CNE-Bereich gleich
Wer Shared Hosting betreibt und nicht kompromittiert werden will, sollte andere Mittel wie gVisor oder Firecracker-VMs verwenden
Das wichtigste System, das ihn als Sicherheitsgrenze nutzt, ist wohl Android, dort wird das aber durch Benutzerbestätigung bei APK-Installationen, strikte SELinux- und seccomp-Policies sowie GrapheneOS-Hardening abgeschwächt
Auch in diesem Fall hat die Minderung funktioniert: https://discuss.grapheneos.org/d/35110-grapheneos-is-protect...
Ich verstehe nicht, warum man sagt, bei Linux-kernel-Schwachstellen gebe es für Distributionen keine Vorabinformation, es sei denn, der Reporter bringe sie selbst zur linux-distros-ML
Das setzt voraus, dass der Reporter ein hohes Maß an Wissen über das Linux-Projekt und seine Abläufe hat
Ein Meldender sollte nicht dafür verantwortlich sein, direkt mit allen Downstream-Konsumenten des Linux-Kernels zu arbeiten
Nach derselben Logik müsste man dann auch jeden Hersteller direkt kontaktieren, der Linux in Geräten verwendet
Ich finde, der Meldende hat seine Pflicht bereits erfüllt, indem er das Problem verantwortungsvoll an Linux gemeldet und gewartet hat, bis ein Patch vorlag
Innerhalb des Linux-Projekts sollte es Personen mit Zuständigkeit und Verantwortung für Sicherheitslücken geben, und sie sollten auch die Downstream-Distributionen informieren
https://docs.kernel.org/process/security-bugs.html
As such, the kernel security team strongly recommends that as a reporter of a potential security issue you DO NOT contact the “linux-distros” mailing list UNTIL a fix is accepted by the affected code’s maintainers and you have read the distros wiki page above and you fully understand the requirements that contacting “linux-distros” will impose on you and the kernel community.Da wäre es zumindest verantwortungsvoll gewesen, die Sicherheitsteams dieser Distributionen zu informieren
Dass diese Distributionen Downstream des Kernel-Teams sind, kann ihm kaum unbekannt gewesen sein
Eine Google-Suche reicht: https://share.google/aimode/eihDKXZJy94Z5lC1p
Ohne darüber nachzudenken alle einem Exploit auszusetzen, ist schwer nachvollziehbar und in manchen Rechtsräumen womöglich nicht einmal weit von einem schweren Delikt entfernt
Der interessanteste Austausch zur disclosure steht unter diesem Link
https://www.openwall.com/lists/oss-security/2026/05/01/3
Das ist die Antwort von greg k-h: „Wir können niemanden vorab informieren, denn dann müssten wir alle über alles informieren. Das ist die einzige Policy, der Rechts- und Regierungsstellen zugestimmt haben, unter der wir operieren dürfen.“
Statt die Reporter verantwortlich zu machen, sollte man fordern, den Kernel-Prozess zu ändern
Der Linux-Kernel ist längst kein Spielzeugprojekt mehr, dort arbeiten Vollzeitbeschäftigte aus vielen Unternehmen
Die Benachrichtigung der Distributionen hätte von ihnen übernommen werden müssen, nicht von irgendeiner Einzelperson
Hätte man Hinweise wie auf RHEL 14 nicht so eingebaut, wäre die Kritik vermutlich weit geringer ausgefallen
Hier geht es nicht um einen unabhängigen Sicherheitsforscher oder die Wissenschaft, sondern um ein Sicherheitsunternehmen mit professioneller Kommunikationsabteilung, das mit dem Finger auf Distribution-Maintainer zeigt
Aber weil der Reporter nicht darauf gewartet hat, dass das geschieht, könnten reale Menschen Schaden erlitten haben, und dafür trägt der Reporter Verantwortung
Das ohne vorherige Information der großen Distributionen in die Welt zu setzen, war unverantwortlich
Für Leute, die einen Kernel nutzen, bei dem AF_ALG nicht als Modul, sondern direkt in den Kernel gelinkt ist, wurde ein eBPF-basierter Workaround veröffentlicht: https://github.com/Dabbleam/CVE-2026-31431-mitigation
Er läuft derzeit in Production, mindert die Angriffe und bislang sind keine unerwarteten Nebenwirkungen zu sehen
Ich denke,
nosuidund wahrscheinlich auchnodevsollten Standard-Mount-Optionen für Dateisysteme sein/devist bereits eine spezielle devtmpfs, und das minimale/devdes initrd kann bei Bedarf dadurch bereitgestellt werden, dass man die initrd-tmpfs-rootfs explizit mitdevundsuidmountetZu erlauben, dass SUID-Binaries irgendwo einfach „existieren“ können, ist ein großes Sicherheitsrisiko
Wie soll man beim Mounten externer Speichermedien verifizieren, ob die SUID-Binaries auf diesem Block-Device bösartig sind?
Außerdem scheint dieser Exploit nur zu funktionieren, wenn der Benutzer, der das SUID-Binary ausführt, das Binary auch lesen kann
Es gibt keinen guten Grund, warum Nicht-Root-Benutzer Leserechte auf SUID-Binaries haben sollten
NixOS macht das richtig
Im normalen Paketinstallationsverzeichnis
/nix/storegibt es kein SUID, und weil Pakete nicht daraus herauslecken, kann man auf anderen Mountpoints gefahrlosnosuidverwendenDie einzige Ausnahme ist das Einzweckverzeichnis
/run/wrappers.$hash, das nur executable-only-SUID-Wrapper sicher enthältDer ausgenutzte Bug ermöglicht faktisch beliebige Page-Cache-Poisoning-Angriffe
An diesem Punkt ist das Spiel ohnehin vorbei, und ein suid-Programm zu patchen ist vielleicht der einfachste Weg zur Root-Shell, aber nicht der einzige
Es gibt viele andere Wege
Wenn das Ziel nur wäre, den PoC-Exploit zu blockieren, gäbe es einfachere Methoden wie Blacklists, aber das würde die Lage nicht sicherer machen
Mit dieser Schwachstelle kann man den page cache manipulieren
Man kann
ld.somanipulieren, um beliebige Systemaufrufe zu hooken, die uid auf 0 zu setzen oder auf viele andere Arten eine Rechteausweitung zu erreichenMountpoints haben mit diesem Problem nichts zu tun
Natürlich ist es immer sinnvoll, suid in benutzerschreibbaren Bereichen zu verbieten und das Lesen von suid-Dateien zu unterbinden, aber aus anderen Gründen
Auch NixOS behebt diese Schwachstelle nicht und ist genauso verwundbar wie andere Distributionen
Um ein Binary auszuführen, muss es von der Platte gelesen und in den Speicher geladen werden
Tatsächlich kann man, wenn man auf ein bestimmtes Binary Leserechte, aber keine Ausführungsrechte hat, den Linker direkt aufrufen, um es auszuführen
Zum Beispiel mit
/bin/ld.so.1 /path/to/binary; dann liest und lädt der Linker das Binary und springt anschließend ohneexec()-Aufruf zum Entry PointUnter dem folgenden Bleeping Computer-Link stehen mögliche Gegenmaßnahmen, bis Patches bereitstehen
https://www.bleepingcomputer.com/news/security/new-linux-cop...
RHEL, Fedora und Gentoo sind alle so konfiguriert, dass dieser Code direkt in den Kernel gebaut wird
Ohne Patch oder Konfigurationsänderung bleiben diese Distributionen also weiter verwundbar, wie Sam für Gentoo andeutete
NixOS wurde ebenfalls nicht vorab informiert
https://discourse.nixos.org/t/is-nixos-affected-by-copy-fail...
Hyperbola GNU war sicher, weil es aus politischen Gründen und zugunsten der Stabilität noch Python 3.8 nutzt
Ubuntu hat einen Patch veröffentlicht, und Tests vor und nach dem Patch wurden abgeschlossen