首页 网络安全 正文

Mattermost webhook 安全漏洞CVE-2026-4915

摘要

栋科技漏洞库关注到 Mattermost 多个版本中存在的Webhook 空元素 DoS 漏洞,现已被追踪为CVE-2026-4915,CVSS 3.1评分6.5。

Mattermost 是一款开源、可自托管的企业级团队协作与即时通讯平台,企业可以免费部署与使用,数据完全自主可控与高度安全合规。

一、基本情况

Mattermost 是一款开源的企业协作平台,常被视作 Slack / Microsoft Teams 的开源替代,数据不出企业,用于团队沟通和工作流集成。

Mattermost webhook 安全漏洞CVE-2026-4915

Mattermost = 开源版 Slack + 自主可控数据 + 企业级安全 + 技术工具集成,适合不想用商业通讯工具、要把数据握在自己手里的团队。

栋科技漏洞库关注到 Mattermost 多个版本中存在的Webhook 空元素 DoS 漏洞,现已被追踪为CVE-2026-4915,CVSS 3.1评分6.5。

二、漏洞分析

CVE-2026-4915 漏洞是位于Mattermost 平台中的,webhook nil 元素 DoS(通过出站 Webhook 响应导致服务器 panic)安全漏洞。

具体来说,这是一个Mattermost Webhook 空元素 DoS 漏洞,漏洞源于未做空值校验就遍历附件数组,属于典型的 “防御性编程缺失”。

在处理出站 Webhook(Outgoing Webhook)的回调响应时,未过滤附件(attachments)数组中的空(nil)元素,直接进入渲染逻辑。

当附件数组包含 null/nil 项时,代码尝试访问其字段(如 text、color),触发空指针解引用(nil pointer dereference)。

由于在处理 outgoing webhook attachment payloads 时未对数组中的 nil 元素进行过滤,导致 Go 服务进程 panic 并退出。

当 webhook callback response 包含空附件条目时,导致空指针解引用,服务器进程终止,造成拒绝服务(DoS)。

修复版本中通过在 attachment payload 处理前添加 nil 元素过滤逻辑,跳过或移除 nil entry 后再进行处理,避免了空指针解引用。

三、POC概念验证

(一)触发条件

攻击者拥有有效账号(已认证);

系统配置了出站 Webhook(可由普通用户创建);

攻击者构造包含 attachments: [null] 的 Webhook 回调响应;

Mattermost 服务器接收并处理该响应 → 进程崩溃。

(二)攻击示例(简化 Payload)

json
{
  "username": "malicious",
  "text": "trigger DoS",
  "attachments": [ null ]  // 关键:空元素
}

服务器处理时:

go
运行
for _, att := range attachments {
    render(att.Text) // att 是 nil → 崩溃
}

(三)潜在

服务中断:Mattermost 进程崩溃,所有用户无法登录 / 收发消息;

可反复触发:攻击者可多次发送恶意 Webhook,导致持续 DoS;

无需高权限:普通已认证用户即可利用,攻击门槛低。

(四)临时缓解(未升级前):

限制出站 Webhook 创建权限(仅管理员可建);

配置 Webhook 回调白名单,拒绝含 null 附件的响应。

四、影响范围

11.6.x ≤ 11.6.0

11.5.x ≤ 11.5.3

11.4.x ≤ 11.4.4

10.11.x ≤ 10.11.14

五、修复建议

11.7.0+、11.6.1+、11.5.4+、11.4.5+、10.11.15+

六、参考链接

[lvhttps://mattermost.com/security-updates][/lv]



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