首页 网络安全 正文
  • 本文约1270字,阅读需6分钟
  • 31
  • 0

ListMonk易受CSRF的XSS链CVE-2025-58430

listmonk 是自托管通讯和邮件列表管理器,被用于市场营销、内容营销技术等场景,以快速、功能丰富和单一可执行文件的形式脱颖而出。

ListMonk是独立且自托管新闻通讯和邮件列表管理系统,依赖于PostgreSQL(版本≥12)数据库作为数据存储,确保数据安全性和可靠性。

一、基本情况

Listmonk是一款基于Node.js的开源软件,用户可在自己服务器上安装和运行,无需依赖第三方服务商,支持高效的邮件营销和用户管理。

ListMonk易受CSRF的XSS链CVE-2025-58430

Listmonk是一款专为实现高性能自托管电子邮件列表管理而设计的先进工具,核心特色在于提供了一个集多功能于一体的现代化操作界面。

栋科技漏洞库关注到ListMonk受影响版本中存在容易受到CSRF的XSS链漏洞,漏洞现已被追踪为CVE-2025-58430,CVSS 4.0评分8.6。

二、漏洞分析

CVE-2025-58430漏洞是ListMonk在包括 1.1.0 版本在内的早期版本中存在的容易受到CSRF的XSS链漏洞,漏洞可能导致管理帐户接管。

安全人员对webapp安全评估期间,关注到包括 1.1.0 版本在内的早期版本中除会话 cookie `session` 外,每个HTTP请求还包括 `nonce`。

后端不会检查和验证该随机数,移除 `nonce` 也是可以使请求正常处理。这看似无害,但如果与其他漏洞相结合,可能会成为重大漏洞。

不带nonce的HTTP请求示例:

 

ListMonk易受CSRF的XSS链CVE-2025-58430

三、POC概念验证

1、让我们来看一个包含CSRF和XSS的漏洞的“连锁”案例(我认为这是有意在模板中不使用javascript ? )

2、管理员(或任何有权限的用户)可以创建模板并预览它们(POST /api/templates/preview),在模板中可以执行javascript代码,例如:

ListMonk易受CSRF的XSS链CVE-2025-58430

3、这个请求也可以在没有nonce的情况下进行。

ListMonk易受CSRF的XSS链CVE-2025-58430

4、然后,攻击者可以利用这种缺乏验证的情况在受害者的浏览器中触发XSS(假设管理员)

这可能有两个原因:

没有对nonce进行验证(如上所述)

会话cookie没有samesite标志

ListMonk易受CSRF的XSS链CVE-2025-58430

5、从上图可以看出,登录时没有设置samesite cookie策略,因此浏览器将使用默认策略。

一些浏览器默认设置为Lax(Chrome),但许多其他浏览器使用None(Firefox、Edge)

6、例如,我们可以托管这个html页面,提示管理员发出帖子请求

管理员已设置登录后刷新可查看

7、我在3个最新版本的浏览器上测试了上面编写的CSRF+XSS PoC

Chrome ❌

Firefox ✅

Edge ✅

Example in Firefox:

管理员已设置登录后刷新可查看

8、我们现在可以用任何“有害”的请求替换简单的 alert()。请求,例如创建一个新的管理员帐户:

管理员已设置登录后刷新可查看

管理员已设置登录后刷新可查看

9、因此,利用CSRF+XSS创建管理员帐户的最后一个poc如下:

管理员已设置登录后刷新可查看

四、影响范围

ListMonk <= 1.1.0

五、参考链接

ListMonk > 1.1.0

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接