Exploit für uralten Linux-Bug

Lesezeit
2 Minuten
Bis jetzt gelesen

Exploit für uralten Linux-Bug

01.06.2026 - 09:20
Veröffentlicht in:

Eine seit fast zwei Jahrzehnten übersehene Schwachstelle im Linux-Kernel lässt sich mit einem simplen Systemaufruf zur Root-Eskalation ausnutzen – auf Distributionen, die Millionen Nutzer täglich verwenden.

Der Sicherheitsforscher Asim Manizada hat eine lokale Privilege-Escalation-Schwachstelle in Linux entdeckt, die sich auf eine ungewöhnliche Kombination aus Kernel-Code und Userspace-Hilfsprogramm stützt. Die Lücke, vorläufig "CIFSwitch" genannt, betrifft das Zusammenspiel des CIFS-Kernel-Treibers mit dem Hilfsprogramm cifs.upcall aus dem Paket cifs-utils.

Wer beide Komponenten in einer verwundbaren Konfiguration betreibt, gibt einem lokalen Angreifer ohne besondere Rechte einen klaren Weg zu Root-Zugriff. Das Besondere: Der Kernel-Bug schlummert nachweislich seit 2007 im Quellcode.

Fehlerhafter Kerberos-Authentifizierungsablauf

Der Angriff nutzt eine fundamentale Designlücke im Kerberos-Authentifizierungsablauf von CIFS. Beim Einbinden eines SMB-Netzlaufwerks mit Kerberos-Authentifizierung baut der Linux-Kernel einen Schlüssel vom Typ cifs.spnego auf und befüllt dessen Beschreibungsstring mit sensiblen Metadaten: Server-Adresse, Nutzer-ID, Prozess-ID und Namespace-Ziel.

Das Problem ist, dass der Kernel vor dem Patch nicht überprüft hat, ob diese Beschreibung tatsächlich vom Kernel selbst stammt. Ein unprivilegierter Nutzer konnte deshalb über den Systemaufruf request_key() eine gefälschte cifs.spnego-Beschreibung einschleusen - und das System hat diese klaglos als legitim behandelt. Entscheidend ist dabei: Allein das Einschleusen der Anfrage genügt, um den Mechanismus in Gang zu setzen. Der Kernel muss dafür nicht einmal einen gültigen Schlüssel zurückgeben.

Was dann in der Userspace-Komponente cifs.upcall passiert, führt den Angriff zur Eskalation. Das Hilfsprogramm läuft als Root und parst den Beschreibungsstring der Anfrage. Es vertraut dabei blind den übergebenen Feldern - darunter das PID-Feld und der Parameter upcall_target=app, der dazu führt, dass cifs.upcall in den Namespace des angegebenen Prozesses wechselt.

Ein Angreifer kontrolliert an dieser Stelle sowohl die PID als auch den Mount-Namespace, in den der Root-Prozess springt. Erst nach dem Namespace-Wechsel führt cifs.upcall einen NSS-Lookup durch – über getpwuid() – der wiederum NSS-Module aus dem nun angreifer-kontrollierten Dateisystem lädt. Eine dort platzierte bösartige libnss_pwn.so.2-Bibliothek wird dann als Root ausgeführt. Im Proof-of-Concept schreibt sie einen Sudoers-Eintrag für den Angreifer.

Nicht alle Distributionen betroffen

Nicht alle Distributionen sind in gleichem Maß betroffen. Direkt ausnutzbar ohne zusätzliche Konfigurationsänderungen sind unter anderem Linux Mint 21.3 und 22.3, CentOS Stream 9, Rocky Linux 9, mehrere Kali-Linux-Versionen sowie SLES 15 SP7 und AlmaLinux 9.7 - auch mit aktiven Sicherheitsmodulen wie AppArmor oder SELinux im Enforcing-Modus.

Ubuntu und Debian sind verwundbar, wenn cifs-utils nachinstalliert wird. Einen gewissen Schutz bieten neuere Versionen: Fedora 40 bis 44 und CentOS Stream 10 blockieren den Angriff im Standard durch strengere SELinux-Policies, bleiben aber nach setenforce 0 ausnutzbar. Ubuntu 26.04 blockt durch AppArmor-Userns-Richtlinien. Amazon Linux 2 und Kali 2019.4/2020.4 sind durch zu alte cifs-utils-Versionen nicht betroffen, weil der Namespace-Switch-Pfad dort schlicht fehlt.

Zur Behebung hat der Maintainer eine kompakte Änderung im Kernel eingepflegt: Die neue Funktion cifs_spnego_key_vet_description() prüft, ob die anfragende Komponente tatsächlich die interne spnego_cred des CIFS-Treibers nutzt. Nur dann gilt die Schlüsselbeschreibung als legitim. Der Patch ist in die Stable-Queue eingeflossen.

Wer nicht sofort patchen kann, hat mehrere Ausweichmöglichkeiten: Das cifs-Kernelmodul lässt sich blocken, cifs-utils deinstallieren oder die Standard-Request-Key-Regel für cifs.spnego so überschreiben, dass der Upcall-Aufruf verweigert wird. Alternativ helfen das Deaktivieren unprivilegierter User-Namespaces sowie - für RHEL-basierte Systeme - SELinux im Enforcing-Modus. Ein CVE ist beantragt, aber zum Zeitpunkt der Veröffentlichung noch ausstehend.

Hier geht es zur Themenseite