IPBUF安全漏洞报告
English
CVE-2026-41495 CVSS 5.3 中危

CVE-2026-41495 n8n-mcp 敏感信息泄露漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2026-41495
漏洞类型
信息泄露
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
n8n-mcp

相关标签

信息泄露n8n-mcp日志安全敏感数据泄露CVE-2026-41495

漏洞概述

n8n-mcp是一个为AI助手提供n8n节点文档和操作访问权限的MCP服务器。在2.47.11版本之前,当n8n-mcp运行在HTTP传输模式时,发送至POST /mcp端点的请求元数据会被无条件写入服务器日志。即使认证失败请求被正确拒绝,请求中的敏感信息(如Authorization头中的Bearer令牌、x-n8n-key API密钥以及JSON-RPC载荷)仍会被记录。如果日志被收集、转发至外部系统或在信任边界之外被查看,将导致敏感数据泄露。

技术细节

该漏洞源于n8n-mcp在HTTP模式下的日志记录逻辑缺陷。服务器在处理POST /mcp接口请求时,会在进行严格身份验证之前或过程中,将完整的HTTP请求头和请求体记录到日志中。虽然系统的访问控制机制未被绕过(未认证请求仍返回401 Unauthorized),但日志记录组件未对敏感字段进行过滤。攻击者无需通过认证,只需向目标端点发送包含恶意构造的Authorization头或x-n8n-key头的请求,即可触发服务器记录这些敏感凭证。在日志被聚合到SIEM平台、存储在共享云存储或运维支持人员可访问的场景下,这些泄露的令牌可能被窃取,进而导致账户接管或未授权访问。

攻击链分析

STEP 1
侦察
攻击者发现目标系统正在使用n8n-mcp服务,并确定其运行在HTTP传输模式下。
STEP 2
触发漏洞
攻击者向POST /mcp端点发送特制的HTTP请求,请求中包含伪造或有效的Bearer Token(Authorization头)和API Key(x-n8n-key头)。
STEP 3
信息记录
n8n-mcp服务器在处理请求时,将请求头和请求体元数据写入日志文件,随后因认证失败返回401响应,但敏感信息已留存于日志中。
STEP 4
信息获取
攻击者通过访问被泄露的日志存储(如共享日志系统、SIEM平台或利用日志查看权限),读取记录下来的敏感凭证。
STEP 5
后续利用
利用获取到的Token或API Key,攻击者冒充合法用户访问相关的n8n节点或API接口。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://target-host:port/mcp" # Simulate a request containing sensitive headers that will be leaked in logs headers = { "Content-Type": "application/json", "Authorization": "Bearer LEAKED_SECRET_TOKEN_12345", # This will be logged "x-n8n-key": "SENSITIVE_API_KEY_67890" # This will be logged } # JSON-RPC payload payload = { "jsonrpc": "2.0", "method": "tools/list", "id": 1 } print(f"[*] Sending request to {target_url} to trigger log disclosure...") try: # The server will likely return 401 Unauthorized, but logs will capture the headers response = requests.post(target_url, json=payload, headers=headers) print(f"[*] Response Status Code: {response.status_code}") print("[!] Check the server logs (or SIEM) to verify if Authorization and x-n8n-key headers were recorded.") except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}")

影响范围

n8n-mcp < 2.47.11

防御指南

临时缓解措施
建议立即将n8n-mcp升级到v2.47.11或更高版本以彻底修复此问题。在无法立即升级的情况下,应严格限制对应用程序日志的访问权限,避免将日志转发至不可信的外部系统,并审查现有日志以移除已泄露的敏感令牌或密钥。

参考链接