Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
n8n-databricks-path-join — Prova de conceito para um path-traversal (CWE-22) no n8n em nós do Databricks: entrada de webhook não autenticada escapa do caminho do Genie para vazar segredos PAT do workspace, com um laboratório de loopback. | Kitploit
Ferramentas/GitHubGitHub/abraxas/n8n-databricks-path-join
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesVirtualização para SegurançaTestes de PenetraçãoLabs e Prática
GitHub
abraxas/n8n-databricks-path-join

n8n-databricks-path-join

Prova de conceito para um path-traversal (CWE-22) no n8n em nós do Databricks: entrada de webhook não autenticada escapa do caminho do Genie para vazar segredos PAT do workspace, com um laboratório de loopback.

Ver Repositório
23há 8 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Abraxas Labs - n8n-databricks-path-join

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

Write-up: https://abraxaslabs.tech/research/n8n-databricks-path-join

n8n-databricks-path-join

n8n 2.42.0 - n8n GmbH

GHSA-89p4-6h98-c7xm e GHSA-rqch-9jrh-cr8w introduziram toPathSegment: encodeURIComponent mais rejeição de '' / . / ... getSpace.operation.ts concatena spaceId em ${host}/api/2.0/genie/spaces/${spaceId}. Vector Search getIndex e Files downloadFile são da mesma classe. LangChain VectorStoreDatabricks já envolve o caminho do índice. O new URL do WHATWG faz o resto. ../ normaliza. O PAT do Databricks do workflow vai junto.

Entrada de webhook não confiável torna-se GET /api/2.0/secrets/get sob o token do workspace. Vazamento de credencial no Databricks, não RCE no host do n8n.

IDainda sem CVE
CWECWE-22
CVSSAlto: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Produton8n
Afetadoaté 2.42.0 (86c23326); irmão de GHSA-89p4 / GHSA-rqch
Autenticaçãonão autenticado no webhook se um workflow vítima vinculou entrada não confiável
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1

O que um atacante pode fazer

Atingir um webhook público, chat ou gatilho HTTP que flui para o Databricks Genie get-space (ou Vector Search get-index, ou Files download) com um id controlado pelo atacante. O token do workflow então faz GET em /api/2.0/secrets/get. Se esse token puder ler o escopo (PAT típico de admin de workspace), a saída do nó é o JSON value do segredo.

Token sem ACL de secrets ainda retorna 403; isso ainda prova que a requisição saiu de /genie. O download de Files precisa de um ../ mais profundo (prefixo mais longo). Precisa de uma vítima que tenha vinculado entrada não confiável a esse parâmetro. Um nó HTTP Request restrito (allowedHttpRequestDomains: none) não substitui a codificação dos ids do Databricks.

Mesmo produto, sobra irmã: hidden Function vm2.

Como eu encontrei

Mesma passagem de sobras do lab de Function: dez caçadas em [email protected] após a onda de GHSA de 16 de setembro de 2026. A caçada de injeção em nós procurava irmãos incompletos de GHSA-89p4 (ids de recursos da Public API) e GHSA-rqch (nome de tabela do Supabase). Elastic, Adalo, Currents, o próprio nó n8n. O helper existe porque eles já perderam essa luta. O nodes-base do Databricks não o chama.

Não direcionei isso a um workspace real. O mock do lab em :18203 responde a GET /api/2.0/secrets/get com N8N-DBX-SECRET-WITNESS. n8n em :18202. O webhook dbx-space vincula spaceId a partir do JSON. Log de acesso do mock: GET /api/2.0/secrets/get?scope=s&key=k. O corpo do webhook contém a testemunha.

Viradas erradas já registradas: requisição permanecendo sob /api/2.0/genie/spaces/ (então .. foi codificado - o lab exige que seja deixado); tratar RCE no host n8n como SUCCESS; atingir um workspace real; um reverse shell. Teatro. A testemunha é N8N-DBX-SECRET-WITNESS mais a linha de requisição mock.

Lab

cd lab
./run.sh

Aponte apenas para http://127.0.0.1:18202 (n8n) e :18203 (mock). O host da credencial é o mock, não um workspace real.

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

A correção

Envolva cada id de caminho do Databricks com toPathSegment, da mesma forma que o VectorStoreDatabricks.

Referências

  • github.com/n8n-io/n8n tag [email protected]
  • getSpace.operation.ts · toPathSegment · DatabricksVectorStore.ts
  • Corrigidos próximos: GHSA-89p4-6h98-c7xm · GHSA-rqch-9jrh-cr8w
  • Mesmo produto: n8n-function-vm2
  • CWE-22

Licença

GNU Affero GPL v3.0. Consulte LICENSE. Apenas laboratório de loopback. Sem garantias.

Baixar ferramenta