Diese von Asim Viladi Oglu Manizada, einem SpaceX-Sicherheitsingenieur, entdeckte Sicherheitslücke ist nicht auf einen klassischen Programmierfehler zurückzuführen, sondern auf eine Kaskade logischer Fehler.

Sein Ursprung geht auf das Jahr 2007 zurück. Es befindet sich im CIFS-Subsystem (Gemeinsames Internet-Dateisystem), das Protokoll, das Linux die Kommunikation mit Netzwerkdateifreigaben, insbesondere denen von Windows, ermöglicht.

Das Problem ist subtil: Der Kernel überprüft die Herkunft von Authentifizierungsanfragen nicht korrekt. Es ist ein klaffendes Loch für jeden, der es auszunutzen weiß.

Ein Angreifer mit eingeschränkten Rechten kann Authentifizierungsanfragen fälschen, um ein Systemdienstprogramm (cifs.upcall) auszutricksen und beliebigen Code mit Root-Rechten auszuführen, wodurch der Computer vollständig kompromittiert wird.

Wie genau funktioniert der CIFSwitch-Angriff?

Der Angriff ist ein wahres Kartenhaus. Normalerweise, wenn der Linux-Kernel muss sich bei einer mit Kerberos gesicherten Netzwerkfreigabe authentifizieren (ein Netzwerkauthentifizierungsprotokoll) verwendet es ein Hilfsprogramm namens cifs.upcall.

Dieses Programm läuft mit höchsten Privilegien. Der CIFSwitch-Fehler (CVE-2024-40857) ermöglicht es einem lokalen Benutzer ohne bestimmte Rechte, eine gefälschte Authentifizierungsanforderung zu erstellen und diese direkt an diesen Mechanismus zu senden.

In diese gefälschte Anfrage kann der Angreifer dann seine eigenen Parameter einschleusen. Insbesondere kann es „cifs.upcall“ zwingen, zu einem Namespace zu wechseln, den es kontrolliert.

Schlimmer noch: Bevor das Dienstprogramm seine Berechtigungen reduziert, führt es eine Überprüfung über durch Namensdienstschalter (NSS). Der Angreifer muss lediglich eine falsche NSS-Konfiguration angeben, um ein schädliches Modul zu laden. Das Ergebnis ist eine Rechteausweitung direkt und gibt ihm den Schlüssel zum Königreich: Zugang Wurzel.

Welche Linux-Distributionen sind anfällig für CIFSwitch?

Die Schwachstelle betrifft nicht alle Systeme einheitlich. Ihr Erfolg hängt von einer Kombination mehrerer Faktoren ab : eine anfällige Version des Kernels, das Vorhandensein des Pakets „cifs-utils“ und Sicherheitsrichtlinien (wie SELinux oder AppArmor), die den Angriffspfad nicht blockieren.

Es wurde eine nicht erschöpfende Liste von Distributionen veröffentlicht, die in ihrer Standardkonfiguration als anfällig gelten. Es gibt sehr beliebte Namen wie Linux Mint 21.3, CentOS Stream 9, Rocky Linux 9, AlmaLinux 9, Kali Linux (von 2021.4 bis 2024.1) und SLES 15 SP7.

Hacker

Andere Distributionen wie bestimmte Versionen von Ubuntu, Debian oder Oracle Linux können ebenfalls gefährdet sein, wenn das Paket „cifs-utils“ dort manuell installiert wird.

Umgekehrt Systeme wie Ubuntu 24.04, Fedora 40 oder CentOS Stream 10 sind standardmäßig durch restriktivere Sicherheitsrichtlinien geschützt. Ein Democode (Proof-of-Concept) wurde veröffentlicht, sodass Administratoren testen können, ob ihre Systeme von dieser schwerwiegenden Sicherheitslücke betroffen sind.

Wie können wir uns vor dieser Verletzlichkeit schützen?

Die Parade ist bereits im Gange. Ein Fix wurde in den Linux-Kernel integriert hauptsächlich. Es fügt eine entscheidende Prüfung hinzu, die fehlte: Der Kernel stellt nun sicher, dass Authentifizierungsanfragen von seinem eigenen CIFS-Client kommen und nicht von einem durchschnittlichen Benutzer.

Daher sollten Sie zunächst die von Ihrer Distribution angebotenen Sicherheitsupdates einspielen, sobald diese verfügbar sind. Es ist die wirksamste Barriere.

Für diejenigen, die nicht sofort aktualisieren oder die Sicherheit erhöhen können, sind mehrere Abhilfemaßnahmen möglich. Wenn Sie keine Windows-Netzwerkdateifreigaben verwenden, ist die einfachste Lösung radikal: Deinstallieren Sie das Paket „cifs-utils“. oder deaktivieren Sie das Kernel-CIFS-Modul.

Eine weitere Möglichkeit besteht darin, die Erstellung von Benutzernamensräumen zu deaktivieren für unprivilegierte Benutzer, wodurch dem Angreifer der Boden unter den Füßen für eine Rechteausweitung entzogen wird. Dies ist eine sehr wirksame Maßnahme Dies kann jedoch Nebenwirkungen auf andere legitime Anwendungen haben.

Was ist das Besondere an der Entdeckung dieses Fehlers?

Über sein Alter hinaus ist die Entdeckungsmethode von CIFSwitch faszinierend. Asim Manizada hat nicht Monate damit verbracht, Millionen von Codezeilen manuell zu prüfen. Es nutzte ein von künstlicher Intelligenz unterstütztes Framework.

Dieses System erstellte eine semantische Karte der Kernelobjekte und ihrer Interaktionen, ähnlich einer Karte sozialer Beziehungen. Die KI durchsuchte dann dieses Diagramm nach logischen Inkonsistenzen, so wie ein Detektiv nach einem Fehler in einem Alibi sucht.

So entdeckte sie das „schwache Glied“: eine privilegierte Komponente („cifs.upcall“), der blind vertraut wurde auf Daten, die von jedem erstellt werden können.

Dieser Ansatz verändert das Schwachstellen-Scanning grundlegend. Es unterstreicht die Ironie, dass eine Maschine einen Fehler findet, den Tausende von menschlichen Augen fast 20 Jahre lang ignoriert haben.

Es ist ein eindrucksvoller Beweis für die Fähigkeit der KI, komplexe Systeme zu analysieren und logische Fehlerketten zu identifizieren, die selbst erfahrenen Experten entgehen können.