🔴 《严重安全漏洞:CVE-2026-64829》

CVSS 评分: 严重(9.1)  状态: Received  发布时间: 2026-07-22


漏洞简介

CVE-2026-64829 是 Question2Answer(一个开源问答系统平台)中的一个会话固定(session fixation)漏洞,具体涉及密码重置流程中的会话失效缺陷。该漏洞存在于 Question2Answer 1.8.8 及之前版本中。

漏洞的核心问题位于 qa-include/app/users-edit.php 文件中的 qa_finish_reset_user() 函数。当用户通过“忘记密码(forgot-password)”流程完成密码重置时,该函数未能清除 sessioncode 字段。与此形成对比的是,正常的密码修改流程(位于 qa-include/pages/account.php)会显式地清除 sessioncode,从而使持久化的 qa_session cookie 失效。

由于该遗漏,攻击者如果事先获取了受害者的“记住我(remember-me)”cookie(即持久化会话 cookie),即使受害者完成了密码重置,攻击者仍然可以利用该 cookie 保持已认证的访问权限。这意味着密码重置操作并未真正终止攻击者的会话,导致账户控制权无法完全恢复。

该漏洞对应 CWE-613(不充分的会话过期机制,Insufficient Session Expiration)。

影响范围

风险分析

根据 CVSS 4.0 评分向量(CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N),该漏洞具有以下风险特征:

  • 攻击复杂度较高(AC:H):攻击者需要事先获取受害者的“记住我”cookie,这通常需要通过其他手段(如 XSS、网络嗅探、社会工程等)实现。
  • 无需用户交互(UI:N):攻击者不需要诱导受害者执行额外操作,只需利用已获得的 cookie 即可。
  • 机密性和完整性影响严重(VC:H/VI:H):成功利用后,攻击者可以保持对受害者账户的完全访问权限,包括查看私密内容、修改账户设置、发布内容等。
  • 无需特权(PR:N):攻击者不需要任何账户权限即可发起攻击。

可能的攻击场景

  1. 攻击者通过某种方式(如跨站脚本攻击、中间人攻击、信息泄露等)获取了受害者的持久化会话 cookie。
  2. 受害者发现账户异常或怀疑被入侵,通过“忘记密码”流程重置密码。
  3. 由于漏洞存在,密码重置后攻击者持有的旧 cookie 仍然有效。
  4. 攻击者继续使用该 cookie 访问受害者的账户,导致密码重置措施失效。

实际后果

  • 账户控制权无法通过密码重置恢复,攻击者可以持续访问账户。
  • 攻击者可能利用持续访问权限窃取更多敏感信息、发布恶意内容或进行其他破坏活动。
  • 对于管理员账户,可能导致整个站点的安全风险升级。

缓解建议

  • 在官方修复发布前,建议管理员手动检查并修改 qa-include/app/users-edit.php 中的 qa_finish_reset_user() 函数,在密码重置完成后添加清除 sessioncode 的逻辑。
  • 启用 HTTPS 并实施严格的 cookie 安全属性(如 Secure、HttpOnly、SameSite)以减少 cookie 被窃取的风险。
  • 监控账户异常活动,特别是密码重置后的持续访问行为。

🔍 技术细节

字段
CVE ID CVE-2026-64829
CVSS 评分 9.1 🔴
严重程度 严重
CVSS 向量 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CWE 分类 CWE-613
发布时间 2026-07-22
最后更新 2026-07-22
状态 Received
数据来源 disclosure@vulncheck.com

🔗 参考链接