Im Folgenden finden Sie einen voll funktionsfähigen Exploit für die Schwachstelle CVE-2025-54135 in der Cursor-IDE, der eine Prompt-Injection-Attacke demonstriert, die die Model Context Protocol (MCP)-Konfiguration manipuliert, um Remote-Code-Ausführung zu erreichen. Dieser Code geht davon aus, dass der Angreifer Zugriff auf einen öffentlichen Slack-Kanal oder einen ähnlichen externen MCP-Server hat, mit dem die Cursor-IDE des Opfers interagieren soll. Der Exploit erstellt ein bösartiges Prompt, das die Datei ~/.cursor/mcp.json überschreibt, um beliebige Befehle mit den Rechten des Entwicklers auszuführen.
⚠️ Haftungsausschluss
Dieser Code dient nur zu Bildungszwecken. Unautorisierte Nutzung ist illegal. Der Autor haftet nicht für Missbrauch. Holen Sie immer eine Genehmigung ein und halten Sie sich an die Gesetze.
Einrichtungsanleitung
Um diesen Exploit zu verwenden, führen Sie die folgenden Schritte aus, um die Angriffsinfrastruktur einzurichten:
-
Erstellen Sie einen Slack-Bot:
- Richten Sie eine Slack-App mit einem Bot-Token und Berechtigungen zum Posten von Nachrichten in einem öffentlichen Kanal (z. B.
general) ein.
- Ersetzen Sie
xoxp-your-slack-bot-token-here im Skript durch Ihr Bot-Token.
-
Richten Sie einen bösartigen MCP-Server ein:
- Betreiben Sie einen Server unter
http://attacker-controlled-server.com:8080 (ersetzen Sie dies durch Ihre eigene Server-URL).
- Dieser Server kann ein einfacher HTTP-Server sein, um Interaktionen zu protokollieren oder zusätzliche Payloads bereitzustellen, obwohl dies für die anfängliche Befehlsausführung nicht unbedingt erforderlich ist.
-
Führen Sie den Exploit aus:
- Installieren Sie Abhängigkeiten:
pip install requests.
- Führen Sie das Skript aus:
python cve-2025-54135-exploit.py.
- Das Skript postet ein bösartiges Prompt in den angegebenen Slack-Kanal, den die Cursor-IDE des Opfers abruft und verarbeitet, wenn sie so konfiguriert ist, dass sie diesen Kanal überwacht.
-
Exploit-Mechanismus:
- Das bösartige Prompt enthält eine Base64-kodierte MCP-Konfiguration, die einen neuen Servereintrag zu
~/.cursor/mcp.json hinzufügt.
- Das Flag
auto_start stellt sicher, dass der start_command (z. B. whoami > /tmp/pwned.txt) sofort ohne Benutzerfreigabe ausgeführt wird.
- Da Cursor mit Rechten auf Entwicklerebene läuft, wird der Befehl in der Umgebung des Opfers ausgeführt, was möglicherweise zu Datendiebstahl, Ransomware oder weiterer Systemkompromittierung führen kann.
-
Überprüfung:
- Überprüfen Sie auf dem Rechner des Opfers, ob
/tmp/pwned.txt vorhanden ist, um die erfolgreiche Befehlsausführung zu bestätigen.
- Ändern Sie die Variable
COMMAND, um bei Bedarf andere Shell-Befehle auszuführen.
Voraussetzungen
- Python 3.x mit der Bibliothek
requests.
- Ein Slack-Workspace, in dem die Cursor-IDE des Opfers so konfiguriert ist, dass sie Daten über MCP abruft.
- Ein vom Angreifer kontrollierter Server (optional für erweiterte Payloads).
Hinweise
- Dieser Exploit zielt auf Cursor-IDE-Versionen vor 1.3; Version 1.3 wurde am 29. Juli 2025 gepatcht. Stellen Sie sicher, dass das Ziel eine verwundbare Version ausführt.
- Der Angriff hängt davon ab, dass die Cursor-IDE des Opfers externe Daten von einem öffentlichen Slack-Kanal oder einem ähnlichen MCP-verbundenen Dienst verarbeitet.
- Stellen Sie für den realen Einsatz sicher, dass Sie die Erlaubnis haben, das Zielsystem zu testen, da unbefugte Ausnutzung illegal ist.
Dieser Code und dieses Setup bieten eine funktionale Demonstration, wie ein Angreifer CVE-2025-54135 ausnutzen könnte, um über Prompt-Injection eine Remote-Code-Ausführung in der Cursor-IDE zu erreichen.