Fragnesia — eine Sicherheitsanfälligkeit im Linux-Kernel, die es ermöglicht, root durch Änderung des Seiten-Caches zu erhalten

Im Linux-Kernel wurde die vierte Schwachstelle in den letzten zwei Wochen entdeckt (CVE-2026-46300), die es einem unprivilegierten Benutzer ermöglicht, Root-Rechte zu erlangen, indem er Daten im Seiten-Cache überschreibt. Der Schwachstelle wurde der Codename Fragnesia oder Copy Fail 3.0 zugewiesen. Der Kern der Schwachstelle ist vergleichbar mit zuvor veröffentlichten Schwachstellen wie Copy Fail und Dirty Frag. Wie im Fall von Dirty Frag tritt die neue Schwachstelle im xfrm-ESP-Subsystem auf, wird jedoch durch einen anderen Fehler verursacht und erfordert eine separate Korrektur. Ein funktionierender Exploit ist verfügbar.

Die Schwachstelle erscheint in Linux-Kerneln, die nach dem 5. Mai veröffentlicht wurden, aufgrund der versehentlichen Aktivierung durch die Korrektur der Dirty Frag-Schwachstelle. Um die Fragnesia-Schwachstelle im Linux-Kernel zu beheben, wurde ein Patch vorgeschlagen. Die Analyse dieses Patches ergab, dass er nicht ausreicht, weshalb eine zweite Patches vorbereitet wurde.

Die Schwachstelle ist im xfrm-Subsystem in der Implementierung des ESP (Encapsulating Security Payload) Protokolls in TCP (ESP-in-TCP, RFC 8229) vorhanden, das für das Tunneln von IPsec-Verkehr über TCP verwendet wird. Um ungerechtfertigte Pufferüberläufe auszuschließen, wurden Operationen mit dem AES-GCM-Algorithmus durch die Durchführung von XOR-Operationen auf die im Seiten-Cache gespeicherten Daten vor Ort ausgeführt. Aufgrund eines logischen Fehlers entstanden Bedingungen, die es ermöglichten, 1 Byte im Seiten-Cache an einer angegebenen Verschiebung zu überschreiben. Durch wiederholtes Ausführen der Operationen kann der Inhalt jeder Datei im Seiten-Cache byteweise verändert werden.

Alle Leseoperationen aus Dateien geben zunächst den Inhalt aus dem Seiten-Cache zurück. Im Falle einer Modifikation der Daten im Seiten-Cache führen Leseoperationen aus der Datei dazu, dass nicht die tatsächlich auf dem Speicher abgelegte Information, sondern manipulierte Daten zurückgegeben werden. Der Exploit der Schwachstelle zielt darauf ab, den Seiten-Cache für die ausführbare Datei mit dem suid root-Flag zu ändern, die zuvor gelesen wurde, um in den Seiten-Cache zu gelangen. Im von den Forschern vorgeschlagenen Exploit werden die ersten 192 Bytes der Datei /usr/bin/su im Seiten-Cache mit dem Code zum Ausführen von /usr/bin/sh überschrieben. Der anschließende Aufruf des „su“-Utilities führt dazu, dass nicht die originale ausführbare Datei vom Speicher geladen wird, sondern eine modifizierte Kopie aus dem Seiten-Cache.

Für die Ausnutzung der Fragnesia-Sicherheitsanfälligkeit muss die Erstellung von Benutzer-Namespaces (user namespace) im System erlaubt sein. Unter Ubuntu ist solch eine Operation standardmäßig verboten, kann aber durch den sysctl-Befehl „kernel.apparmor_restrict_unprivileged_userns=0“ oder AppArmor-Profile erlaubt werden. In anderen Distributionen hängt die Verfügbarkeit des „user namespace“ für nicht privilegierte Benutzer von der Einstellung des sysctl-Befehls „kernel.unprivileged_userns_clone“ ab (wenn 0, ist es verboten).

Updates mit Fehlerbehebungen für den Linux-Kernel und Kernel-Pakete in den Distributionen wurden bisher nicht veröffentlicht. Der Status der Behebung der Sicherheitsanfälligkeiten in den Distributionen kann auf den folgenden Seiten bewertet werden: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. Als Zwischenlösung zum Schutz kann das Laden der Kernel-Module esp4 und esp6 blockiert werden:

sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 2>/dev/null; true"

Quelle: opennet.ru

60GB SSD 8Gb DDR4