Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
n8n-databricks-path-join — Databricksノードにおけるn8nのパストラバーサル(CWE-22)の概念実証:認証されていないWebhook入力がGenieパスを脱出してワークスペースのPATシークレットを漏洩させる、ループバックラボ付き。 | Kitploit
ツール/GitHubGitHub/abraxas/n8n-databricks-path-join
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集セキュリティ仮想化ペネトレーションテストラボと実践
GitHubabraxas/n8n-databricks-path-join

n8n-databricks-path-join

Databricksノードにおけるn8nのパストラバーサル(CWE-22)の概念実証:認証されていないWebhook入力がGenieパスを脱出してワークスペースのPATシークレットを漏洩させる、ループバックラボ付き。

リポジトリを見る
215日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

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 と GHSA-rqch-9jrh-cr8w は toPathSegment を導入した: encodeURIComponent に加えて '' / . / .. を拒否する。getSpace.operation.ts は spaceId を ${host}/api/2.0/genie/spaces/${spaceId} に連結する。Vector Search の getIndex と Files の downloadFile も同じクラスである。LangChain の VectorStoreDatabricks はすでにインデックスパスをラップしている。残りは WHATWG の new URL が行う。../ が正規化される。ワークフローの Databricks PAT もそれに伴って移動する。

信頼できない webhook 入力が、ワークスペーストークンの下で GET /api/2.0/secrets/get になる。Databricks 上の認証情報漏洩であり、n8n ホストの RCE ではない。

IDCVE 未採番
CWECWE-22
CVSSHigh: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
製品n8n
影響範囲2.42.0 (86c23326) まで; GHSA-89p4 / GHSA-rqch の兄弟
認証被害者のワークフローが信頼できない入力をバインドしていた場合、webhook では未認証
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

攻撃者ができること

攻撃者が制御する id を使って、Databricks Genie get-space (または Vector Search get-index、Files download) に流れ込む公開 webhook、チャット、HTTP トリガーを叩く。するとワークフローのトークンが /api/2.0/secrets/get を GET する。そのトークンがスコープを読み取れる場合 (典型的なワークスペース管理者 PAT)、ノードの出力はシークレットの value JSON になる。

secrets ACL のないトークンでは依然として 403 になるが、それでもリクエストが /genie を離れたことは証明される。Files download にはより深い ../ (より長いプレフィックス) が必要である。信頼できない入力をそのパラメータにバインドした被害者が前提となる。ロックダウンされた HTTP Request ノード (allowedHttpRequestDomains: none) は、Databricks の id をエンコードすることの代替にはならない。

同じ製品、兄弟の残骸: hidden Function vm2。

発見の経緯

Function ラボと同じ残骸パス: 2026年9月16日の GHSA 波の後、[email protected] に対して10件のハントを行った。ノードインジェクションのハントでは、GHSA-89p4 (Public API リソース id) と GHSA-rqch (Supabase テーブル名) の不完全な兄弟を探していた。Elastic、Adalo、Currents、n8n ノード自体。このヘルパーが存在するのは、彼らがすでにこの戦いに敗れているからである。Databricks nodes-base はそれを呼び出していない。

これを実際のワークスペースに向けたわけではない。:18203 上のラボモックは GET /api/2.0/secrets/get に N8N-DBX-SECRET-WITNESS を返す。n8n は :18202 上。webhook dbx-space は JSON から spaceId をバインドする。モックのアクセスログ: GET /api/2.0/secrets/get?scope=s&key=k。webhook のボディに witness が含まれる。

すでに記録済みの誤った道: リクエストが /api/2.0/genie/spaces/ の下にとどまること (その場合 .. がエンコードされる - ラボでは離れることが必須); n8n ホストの RCE を SUCCESS とみなすこと; 実際のワークスペースを叩くこと; リバースシェル。すべて芝居である。witness は N8N-DBX-SECRET-WITNESS とモックのリクエスト行である。

ラボ

cd lab
./run.sh

対象は http://127.0.0.1:18202 (n8n) と :18203 (モック) のみ。認証情報のホストはモックであり、実際のワークスペースではない。

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

修正

VectorStoreDatabricks と同様に、すべての Databricks パス id を toPathSegment でラップする。

参考資料

  • github.com/n8n-io/n8n タグ [email protected]
  • getSpace.operation.ts · toPathSegment · DatabricksVectorStore.ts
  • 近傍の修正済み: GHSA-89p4-6h98-c7xm · GHSA-rqch-9jrh-cr8w
  • 同じ製品: n8n-function-vm2
  • CWE-22

ライセンス

GNU Affero GPL v3.0。LICENSE を参照。ループバックラボのみ。無保証。

ツールをダウンロード