IPBUF安全漏洞报告
English
CVE-2026-42282 CVSS 4.3 中危

CVE-2026-42282 n8n-mcp日志信息泄露漏洞

披露日期: 2026-05-08

漏洞信息

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

相关标签

信息泄露日志泄露n8n-mcp凭证泄露MCP

漏洞概述

n8n-mcp是一个为AI助手提供n8n节点文档访问的MCP服务器。在2.47.13版本之前,当n8n-mcp运行在HTTP传输模式时,经过身份验证的MCP工具调用请求的完整参数和JSON-RPC参数被记录到服务器日志中且未经过脱敏。由于工具调用可能携带凭证材料(如n8n_manage_credentials.data),这些原始值可能被持久化在日志中,导致Bearer令牌、OAuth凭证、API密钥等敏感信息泄露。该漏洞需要经过身份验证才能触发。

技术细节

该漏洞源于n8n-mcp在HTTP传输模式下处理经过身份验证的MCP工具调用请求时的日志记录机制缺陷。请求调度器及其相关代码路径在日志记录前未对敏感参数进行脱敏处理。当攻击者利用有效的AUTH_TOKEN向服务器发送包含敏感数据的工具调用请求(特别是涉及`n8n_manage_credentials.data`的操作)时,系统会将包含凭证的完整JSON-RPC参数写入日志文件。这些日志可能会被收集、转发到外部系统或被运维人员访问,从而绕过正常的访问控制。虽然存在控制台静默层,但其机制脆弱,且敏感值仍会被构造并传入记录器。攻击者利用此漏洞可窃取租户API密钥、Webhook认证头及任意秘密载荷。

攻击链分析

STEP 1
认证获取
攻击者首先需要获取n8n-mcp服务器有效的AUTH_TOKEN,因为漏洞触发需要身份验证。
STEP 2
构造请求
攻击者构造一个包含敏感凭证(如API密钥、OAuth令牌)的JSON-RPC请求,目标调用n8n_manage_credentials或其他工具。
STEP 3
发送请求
攻击者将构造好的恶意请求发送到运行在HTTP模式下的n8n-mcp服务器。
STEP 4
日志记录
n8n-mcp服务器的请求调度器将完整的请求参数(包括未脱敏的敏感信息)写入服务器日志。
STEP 5
信息窃取
攻击者通过访问日志存储、SIEM系统或利用日志查看权限获取记录在日志中的敏感凭证。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Target n8n-mcp server endpoint url = "http://target-server:port/mcp" # Valid authentication token required auth_token = "VALID_SERVER_AUTH_TOKEN" headers = { "Content-Type": "application/json", "Authorization": f"Bearer {auth_token}" } # Craft a malicious MCP tool call containing sensitive data payload = { "jsonrpc": "2.0", "method": "tools/call", "params": { "name": "n8n_manage_credentials", "arguments": { "data": { "apiKey": "LEAKED_SECRET_API_KEY", "oauthToken": "LEAKED_OAUTH_TOKEN" } } }, "id": 1 } response = requests.post(url, headers=headers, data=json.dumps(payload)) print(f"Request sent. Status: {response.status_code}") print("Check server logs for 'LEAKED_SECRET_API_KEY' to confirm vulnerability.")

影响范围

n8n-mcp < 2.47.13

防御指南

临时缓解措施
建议立即将n8n-mcp升级至2.47.13或更高版本以修复此漏洞。在升级前,应严格限制日志访问权限,并检查历史日志中是否已泄露敏感凭证。如发现泄露,应立即轮换相关的API密钥和令牌。

参考链接