CVE-2026-40587blueprintUE是一款帮助Unreal Engine开发者的工具。在4.2.0版本之前,该产品存在一个安全漏洞。当用户通过个人资料编辑页面更改密码,或通过重置链接完成密码重置时,这些操作都不会使该用户的现有已认证会话失效。服务器端的会话存储将用户ID与会话关联,而当前的密码更改/重置流程仅更新用户表中的密码列,不会销毁或标记任何活动会话为无效。因此,已经窃取会话的攻击者可以在合法用户检测到入侵并更改密码后,仍无限期保留对账户的完全访问权限,直到会话自然到期。
该漏洞的根本原因在于密码修改逻辑与会话管理逻辑的脱节。系统采用了服务器端会话存储机制,将userID与会话进行绑定。在正常的最佳实践中,当用户敏感凭证(如密码)发生变更时,系统应当强制销毁该用户所有现有的活动会话,以防止攻击者继续使用旧凭证窃取的身份。然而,在受影响的blueprintUE版本中,密码修改和重置流程仅更新了数据库中的密码字段,并未触发会话存储的清理或失效操作。这意味着攻击者一旦通过某种方式(如XSS、中间人攻击或物理接触)获得了用户的Session ID,即便受害者察觉并重置了密码,攻击者持有的Session ID依然有效。攻击者利用此漏洞,可以在受害者更改密码后的SESSION_GC_MAXLIFETIME(默认86400秒,即24小时)内,或者在SESSION_LIFETIME设置为0时的浏览器关闭前,继续以受害者身份登录并执行操作,造成数据泄露或完整性破坏。