IPBUF安全漏洞报告
English
CVE-2026-29782 CVSS 7.2 高危

CVE-2026-29782 OpenSTAManager反序列化漏洞

披露日期: 2026-04-02

漏洞信息

漏洞编号
CVE-2026-29782
漏洞类型
反序列化漏洞
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
OpenSTAManager

相关标签

反序列化远程代码执行OpenSTAManagerCVE-2026-29782

漏洞概述

OpenSTAManager 2.10.2之前的版本存在高危反序列化漏洞。未授权的oauth2.php端点在OAuth2配置流程中,直接对数据库中存储的access_token字段调用unserialize()函数且未作类限制。攻击者可利用此漏洞构造恶意数据执行任意代码,导致服务器被完全控制。

技术细节

该漏洞源于OpenSTAManager的`oauth2.php`文件处理逻辑缺陷。该文件设置了`$skip_permissions = true`,导致无需常规权限认证即可访问。脚本通过GET参数`state`从`zz_oauth2`表中获取记录,并在OAuth2配置流程期间直接对`access_token`字段调用PHP的`unserialize()`函数。由于缺乏对反序列化对象类型的限制,攻击者若能向数据库插入恶意序列化对象,即可触发反序列化漏洞。尽管CVSS评分要求高权限(PR:H),这通常意味着需要在数据库中预置恶意数据。一旦存在恶意记录,攻击者发送特制的state参数请求,即可触发反序列化。利用PHP内置类(如SoapClient)或应用Gadget链,攻击者可实现远程代码执行(RCE),完全控制服务器。

攻击链分析

STEP 1
1. 数据准备
攻击者利用高权限(或通过其他方式)在zz_oauth2表中插入一条记录,在access_token字段填入恶意的PHP序列化对象。
STEP 2
2. 发起请求
攻击者向未授权的oauth2.php端点发送HTTP GET请求,并在state参数中指定上一步插入的记录ID。
STEP 3
3. 触发漏洞
服务器端脚本接收请求,从数据库加载记录,并对access_token字段调用unserialize(),导致恶意对象被实例化。
STEP 4
4. 执行代码
利用PHP魔术方法(如__wakeup)或Gadget链,攻击者最终在服务器上下文中执行任意系统命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL url = "http://localhost/openstamanager/oauth2.php" # The vulnerability triggers when the 'state' parameter corresponds to a record # in the 'zz_oauth2' table where the 'access_token' contains a malicious serialized object. # Note: Creating the record in the database usually requires authentication/privileges. # Example payload (PHP Object Injection) # In a real exploit, this would be a valid gadget chain payload. # payload = 'O:8:"stdClass":0:{}' # Attacker controls the 'state' GET parameter to select the malicious record params = { "state": "1" # ID of the record containing the payload } try: response = requests.get(url, params=params, timeout=5) print("[+] Request sent to vulnerable endpoint") print(f"[+] Status Code: {response.status_code}") # Check if the deserialization triggered an error or backdoor behavior print(f"[+] Response: {response.text[:200]}") except Exception as e: print(f"[-] Error: {e}")

影响范围

OpenSTAManager < 2.10.2

防御指南

临时缓解措施
建议立即将OpenSTAManager升级到2.10.2版本以修复此漏洞。如果暂时无法升级,应配置防火墙或WAF规则,拦截外部对`oauth2.php`路径的访问请求,并审查数据库中该表的历史数据,防止攻击者利用预置的Payload进行攻击。

参考链接

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