Mittlerweile ist es fast wie im Film Und täglich grüßt das Murmeltier. Du wachst morgens auf und das Szenario der letzten zwei Wochen wiederholt sich. Eine neue LPE (Local Privilege Escalation) mit dem Namen CIFSwitch erhebt ihr hässliches Haupt. Ich habe aufgehört zu zählen, es ist zumindest die vierte bekannte in nur zwei Wochen.
Seit sieben Jahren unentdeckt
Seit gestern ist die Schwachstelle namens CIFSwitch öffentlich, und sie hat es in sich: Der Bug steckt im CIFS/SMB-Client des Linux-Kernels und ist seit 2007 latent vorhanden. Entdeckt hat ihn Sicherheitsforscher Asim Manizada. Wie zu erwarten gelang dies nicht durch klassisches Code-Review, sondern mithilfe eines KI-gestützten Ansatzes, der semantische Graphen sicherheitsrelevanter Objekte und Abläufe aufbaut und durchläuft, um subtile Logikfehler zu verketten.
Was steckt dahinter?
Ermöglicht wird CIFSwitch durch einen fehlenden Validierungsschritt: Der Kernel prüft bei bestimmten Authentifizierungsanfragen nicht, ob diese wirklich aus dem eigenen CIFS-Subsystem stammen. Wer lokal am System angemeldet ist, kann diese Lücke ausnutzen, um sich mit einem einzigen Befehl Root-Rechte zu verschaffen.
Wer ist betroffen?
Betroffen sind Systeme, auf denen das Paket cifs-utils installiert ist. Distributionen wie Linux Mint, TUXEDO OS, CentOS Stream 9 oder Rocky Linux 9 sind in ihrer Standardkonfiguration verwundbar; Ubuntu und Debian werden es, sobald cifs-utils nachinstalliert wird. Wer also cifs-utils nicht installiert hat, muss sich keine Sorgen machen. Alle anderen sollten zeitnah handeln: Upstream-Kernel-Patches stehen bereits bereit. Als schnelle Übergangslösung lässt sich das Laden des CIFS-Kernelmoduls vollständig blockieren.
Was kann ich tun?
Der Kernel-seitige Fix trägt den Commit-Hash 3da1fdf4efbc und ist für den Stable-Branch eingeplant. Für Debian und RHEL 9 liegen bereits fertige Kernel-Pakete vor, für andere Distributionen wie Ubuntu stehen sie noch aus. Wer nicht warten möchte, hat drei Sofortmaßnahmen zur Wahl:
CIFS-Modul blockieren – die einfachste Option, sofern keine SMB-Netzwerkfreigaben eingebunden werden:
echo "install cifs /bin/false" | sudo tee /etc/modprobe.d/cifs-block.conf
Das funktioniert allerdings nur, wenn cifsesals Modul vorliegt und nicht fest in den Kernel einkompiliert ist.
Unprivilegierte User-Namespaces deaktivieren: unterbricht die Angriffskette unabhängig vom Zustand von cifs-utils:
RHEL/CentOS/Fedora:
sudo sysctl -w user.max_user_namespaces=0
Debian/Ubuntu:
sudo sysctl -w kernel.unprivileged_userns_clone=0
Vorsicht: Unprivilegierte User-Namespaces werden von rootless Containern (Podman, rootless Docker), Flatpaks und Chromiums Sandbox benötigt. Daher kann diese Option unerwünschte Nebenwirkungen haben.
cifs.spnego-Regel überschreiben: die gezielteste Option für alle, die kein Kerberos-Auth für SMB benötigen:
cat >/etc/request-key.d/cifs.spnego.conf <<'EOF'
create cifs.spnego * * /usr/sbin/keyctl negate %k 30 %S
EOF
Detaillierte Informationen zur Lücke selbst, zu betroffenen Distributionen, den Mitigations und dem POC (Proof of Concept) sind auf der Webseite des Entdeckers der Lücke zu finden.

Also wie bei den meisten Luecken.
Man muss Vorraussetzungen haben, zu denen ein Aussenstehender eigentlich gar nicht kommen kann/darf, wenn man sein System im Griff hat.
So wie ich das verstanden habe reicht schon ein normaler User SSH Zugang zum Host oder Container und es eskaliert.