Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
n8n-databricks-path-join — Proof-of-Concept für einen n8n-Path-Traversal (CWE-22) in Databricks-Nodes: Nicht authentifizierte Webhook-Eingaben entkommen dem Genie-Pfad, um Workspace-PAT-Secrets preiszugeben, mit einem Loopback-Lab. | Kitploit
Tools/GitHubGitHub/abraxas/n8n-databricks-path-join
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungSicherheitsvirtualisierungPenetrationstestsLabs & Praxis
GitHub
abraxas/n8n-databricks-path-join

n8n-databricks-path-join

Proof-of-Concept für einen n8n-Path-Traversal (CWE-22) in Databricks-Nodes: Nicht authentifizierte Webhook-Eingaben entkommen dem Genie-Pfad, um Workspace-PAT-Secrets preiszugeben, mit einem Loopback-Lab.

Repository anzeigen
2vor 15 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - n8n-databricks-path-join

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  n8n-databricks-path-join

n8n-databricks-path-join

n8n 2.42.0 - n8n GmbH

GHSA-89p4-6h98-c7xm und GHSA-rqch-9jrh-cr8w führten toPathSegment ein: encodeURIComponent plus Ablehnung von '' / . / ... getSpace.operation.ts konkateniert spaceId in ${host}/api/2.0/genie/spaces/${spaceId}. Vector Search getIndex und Files downloadFile gehören zur selben Klasse. LangChain VectorStoreDatabricks umschließt den Index-Pfad bereits. WHATWG new URL erledigt den Rest. ../ wird normalisiert. Das Databricks-PAT des Workflows geht mit.

Nicht vertrauenswürdige Webhook-Eingaben werden zu GET /api/2.0/secrets/get unter dem Workspace-Token. Credential-Leak auf Databricks, kein RCE auf dem n8n-Host.

IDnoch keine CVE
CWECWE-22
CVSSHigh: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Produktn8n
Betroffenbis 2.42.0 (86c23326); Geschwister von GHSA-89p4 / GHSA-rqch
Authunauthentifiziert am Webhook, wenn ein Opfer-Workflow nicht vertrauenswürdige Eingaben gebunden hat
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1

Was ein Angreifer tun kann

Trifft einen öffentlichen Webhook, Chat- oder HTTP-Trigger, der in Databricks Genie get-space (oder Vector Search get-index oder Files download) mit einer angreiferkontrollierten ID fließt. Das Workflow-Token führt dann GET auf /api/2.0/secrets/get aus. Wenn dieses Token den Scope lesen darf (typisches Workspace-Admin-PAT), ist die Node-Ausgabe das Secret-value-JSON.

Ein Token ohne Secrets-ACL liefert weiterhin 403; das beweist trotzdem, dass die Anfrage /genie verlassen hat. Files download benötigt ein tieferes ../ (längerer Präfix). Erfordert ein Opfer, das nicht vertrauenswürdige Eingaben in diesen Parameter gebunden hat. Ein abgeriegelter HTTP Request Node (allowedHttpRequestDomains: none) ist kein Ersatz für die Kodierung der Databricks-IDs.

Gleiches Produkt, verwandtes Überbleibsel: verstecktes Function vm2.

Wie ich es gefunden habe

Derselbe Überbleibsel-Durchgang wie beim Function-Lab: zehn Jagden auf [email protected] nach der GHSA-Welle vom 16. September 2026. Die Node-Injection-Jagd suchte nach unvollständigen Geschwistern von GHSA-89p4 (Public-API-Ressourcen-IDs) und GHSA-rqch (Supabase-Tabellenname). Elastic, Adalo, Currents, der n8n-Node selbst. Der Helper existiert, weil sie diesen Kampf bereits verloren haben. Databricks nodes-base ruft ihn nicht auf.

Ich habe das nicht auf einen echten Workspace gerichtet. Lab-Mock auf :18203 antwortet auf GET /api/2.0/secrets/get mit N8N-DBX-SECRET-WITNESS. n8n auf :18202. Webhook dbx-space bindet spaceId aus JSON. Mock-Zugriffslog: GET /api/2.0/secrets/get?scope=s&key=k. Webhook-Body enthält den Witness.

Bereits dokumentierte Irrwege: Anfrage bleibt unter /api/2.0/genie/spaces/ (dann wurde .. kodiert - das Lab erfordert, dass sie verlassen wird); n8n-Host-RCE als SUCCESS behandeln; einen echten Workspace treffen; eine Reverse Shell. Theater. Der Witness ist N8N-DBX-SECRET-WITNESS plus die Mock-Request-Zeile.

Lab

cd lab
./run.sh

Ziel nur http://127.0.0.1:18202 (n8n) und :18203 (Mock). Der Credential-Host ist der Mock, kein echter Workspace.

webhook-http=200
mock-request-line=GET /api/2.0/secrets/get?scope=s&key=k
webhook-witness=True
mock-secrets-get=True
witness=N8N-DBX-SECRET-WITNESS
SUCCESS N8N-DBX-PATH-JOIN

Der Fix

Jede Databricks-Pfad-ID mit toPathSegment umschließen, genau wie bei VectorStoreDatabricks.

Referenzen

  • github.com/n8n-io/n8n Tag [email protected]
  • getSpace.operation.ts · toPathSegment · DatabricksVectorStore.ts
  • In der Nähe gepatcht: GHSA-89p4-6h98-c7xm · GHSA-rqch-9jrh-cr8w
  • Gleiches Produkt: n8n-function-vm2
  • CWE-22

Lizenz

GNU Affero GPL v3.0. Siehe LICENSE. Nur Loopback-Lab. Keine Gewährleistung.

Tool herunterladen