Der Sicherheitsforscher Hung Nguyen vom Cybersecurity-Unternehmen Calif, das sich auf KI-basiertes Red Teaming spezialisiert, wies Claude an, eine Zero-Day-Schwachstelle in Vim zu finden. Die KI analysierte daraufhin den Quellcode des Editors und identifizierte fehlende Sicherheitsüberprüfungen in der sogenannten Modeline-Behandlung. Modelines sind Textblöcke am Anfang einer Datei, die Vim anweisen, wie die Datei zu handhaben ist.
Die Schwachstelle nutzt diese Funktionalität aus: Bösartiger Code, der in einer Modeline eingebettet ist, wird ausgeführt, sobald Vim die Datei öffnet. Ein zusätzliches Sicherheitsproblem ermöglichte es dem Code, auch Sandbox-Einschränkungen zu umgehen und Befehle im Kontext des aktuellen Benutzers auszuführen. Die Lücke betraf alle Vim-Versionen bis einschließlich 9.2.0271. Nach Meldung an die Vim-Maintainer wurde ein Patch in Version 9.2.0272 veröffentlicht. Das Vim-Team warnte ausdrücklich: Ein Angreifer, der eine präparierte Datei an ein Opfer ausliefert, kann beliebige Befehle mit den Privilegien des Vim-Benutzers ausführen.
Bei GNU Emacs ist die Situation kritischer. Die Sicherheitslücke bleibt ungepatcht, da die Entwickler das Problem bei Git sehen, nicht beim Editor selbst. Der Angriffsmechanismus ist jedoch ausgefeilter: GNU Emacs’ Git-Integration (vc-git) führt beim Öffnen einer Datei automatisch Git-Operationen aus. Diese lesen die .git/config-Datei und können ein benutzerdefiniertes core.fsmonitor-Programm ausführen – ideal für Angreifer.
Nguyen demonstrierte ein realistisches Angriffsszenario: Ein Angreifer erstellt ein Archiv (E-Mail-Anhang, Cloud-Freigabe) mit einem versteckten .git/-Verzeichnis. Die config-Datei enthält einen Verweis auf ein bösartiges Skript. Öffnet das Opfer eine beliebige Textdatei aus dem Archiv in GNU Emacs, wird das Payload stilschweigend ausgeführt – ohne sichtbare Warnung in der Standardkonfiguration.
Obwohl technisch nur Git den Code ausführt, argumentieren die Emacs-Entwickler, dass dies Gits Problem sei, übersehen aber den praktischen Sicherheitsrisiken: Der Editor führt Git auf unvertrauenswürdigen Verzeichnissen automatisch aus, ohne gefährliche Optionen zu blockieren oder Sandbox-Schutz zu bieten. Nguyen schlug vor, Git-Aufrufe zu modifizieren und explizit ‘core.fsmonitor’ zu blockieren.
Die Entdeckung unterstreicht ein fundamentales Problem: Generative KI-Systeme könnten gezielt für die Identifikation von Sicherheitslücken missbraucht werden. Benutzer sollten derzeit große Vorsicht walten lassen beim Öffnen unbekannter oder heruntergeladener Dateien in GNU Emacs.
