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
2há 15 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

n8n-databricks-path-join

n8n 2.42.0 - n8n GmbH

GHSA-89p4-6h98-c7xm e GHSA-rqch-9jrh-cr8w introduziram toPathSegment: encodeURIComponent mais rejeitar '' / . / ... 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 não confiável de webhook 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 nesse parâmetro. Um nó HTTP Request bloqueado (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 do 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 de nó procurava irmãos incompletos de GHSA-89p4 (ids de recurso da Public API) e GHSA-rqch (nome de tabela do Supabase). Elastic, Adalo, Currents, o próprio nó do 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. Mock de lab em :18203 responde GET /api/2.0/secrets/get com N8N-DBX-SECRET-WITNESS. n8n em :18202. 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.

Caminhos errados já registrados: requisição permanecendo sob /api/2.0/genie/spaces/ (então .. era codificado - o lab exige que ele saia); tratar RCE no host do n8n como SUCCESS; atingir um workspace real; um reverse shell. Teatro. A testemunha é N8N-DBX-SECRET-WITNESS mais a linha de requisição do mock.

Lab

cd lab
./run.sh

Alvo apenas 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 todo id de caminho do Databricks com toPathSegment, igual ao VectorStoreDatabricks.

Referências

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

Licença

GNU Affero GPL v3.0. Veja LICENSE. Apenas lab em loopback. Sem garantia.

Baixar ferramenta