CVE-2026-24661
Mattermost vulnerability analysis and mitigation

Overview

CVE-2026-24661 is a denial-of-service vulnerability in the Mattermost MS Teams plugin caused by an unbounded request body read on the /changes webhook endpoint. Affected versions are Mattermost Plugins ≤2.1.3.0 (Go package github.com/mattermost/mattermost-plugin-msteams versions prior to 1.15.1-0.20260213190728-6fe4d295592e). The vulnerability was published on April 9, 2026, with a patch released as v2.3.2. It carries a CVSS v3.1 base score of 6.5 (Medium), requiring only low-privilege authentication with no user interaction (GitHub Advisory, Mattermost Security).

Technical details

The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the /changes webhook endpoint in the Mattermost MS Teams plugin does not impose any size restriction on the incoming HTTP request body. An authenticated attacker can craft and send an arbitrarily large JSON payload to this endpoint, causing the server to allocate unbounded memory while reading and parsing the body, ultimately leading to memory exhaustion. No complex preconditions are required beyond holding a valid authenticated session; the attack is network-accessible with low complexity. A technical write-up describing the unbounded request body read behavior is available at Infinit Security (Infinit Security).

Impact

Successful exploitation results in memory exhaustion on the host running the Mattermost MS Teams plugin, causing the service to become unresponsive or crash and denying availability to all legitimate users. There is no confidentiality or integrity impact — the vulnerability is purely an availability (DoS) issue. Because the plugin operates within the Mattermost server process, a crash could disrupt the broader Mattermost collaboration platform for all connected users (GitHub Advisory, Mattermost Security).

Exploitation steps

  1. Authentication: Obtain valid credentials for a Mattermost instance running the MS Teams plugin (any low-privilege user account is sufficient).
  2. Identify the webhook endpoint: Locate the /changes webhook endpoint exposed by the Mattermost MS Teams plugin on the target Mattermost server.
  3. Craft an oversized JSON payload: Construct an arbitrarily large JSON body (e.g., a deeply nested or very long JSON string, potentially hundreds of megabytes in size) to maximize memory allocation on the server.
  4. Send the malicious request: Authenticate and submit an HTTP POST request with the oversized JSON payload to the /changes endpoint, e.g.:
    POST /plugins/com.mattermost.msteams-sync/changes HTTP/1.1
    Host: <target>
    Authorization: Bearer <token>
    Content-Type: application/json
    
    {<oversized JSON payload>}
  5. Trigger memory exhaustion: The server reads the entire request body without enforcing a size limit, consuming available memory until the process crashes or becomes unresponsive, resulting in denial of service for all users (GitHub Advisory, Infinit Security).

Indicators of compromise

  • Network: Unusually large HTTP POST requests (hundreds of MB or more) directed at the /changes webhook endpoint of the Mattermost MS Teams plugin; sudden spikes in inbound traffic volume to the Mattermost server.
  • Logs: Mattermost server logs showing repeated or oversized requests to /plugins/com.mattermost.msteams-sync/changes; out-of-memory (OOM) errors or process crash entries in system logs.
  • Process/System: Rapid increase in memory consumption by the Mattermost server process leading to OOM killer events (dmesg or /var/log/syslog entries referencing the Mattermost process being killed); unexpected service restarts or crashes of the Mattermost daemon.
  • Application: Mattermost availability alerts or health check failures coinciding with large POST requests to the plugin endpoint.

Mitigation and workarounds

Upgrade the Mattermost MS Teams plugin to version v2.3.2 or later (Go module version 1.15.1-0.20260213190728-6fe4d295592e or newer), which enforces request body size limits on the /changes endpoint (GitHub Advisory, Mattermost Security). As an interim workaround, configure a reverse proxy (e.g., nginx or HAProxy) in front of Mattermost to enforce a maximum request body size (client_max_body_size in nginx). Additionally, restrict network-level access to the webhook endpoint to only trusted sources, and monitor memory usage and access logs for anomalous activity targeting the /changes endpoint.

Community reactions

The vulnerability received routine coverage from vulnerability tracking services and aggregators shortly after disclosure on April 9, 2026, including entries on EUVD (ENISA), cvefeed.io, and cve.report. A brief technical post was published by Infinit Security describing the unbounded request body read behavior (Infinit Security). No significant vendor statements beyond the standard security advisory, notable researcher commentary, or broad media coverage have been observed.

Additional resources


SourceThis report was generated using AI

Related Mattermost vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2025-4981CRITICAL9.9
  • Mattermost logoMattermost
  • cpe:2.3:a:mattermost:mattermost
NoYesJun 20, 2025
CVE-2024-8071HIGH7.2
  • Mattermost logoMattermost
  • github.com/mattermost/mattermost/server/v8
NoYesAug 22, 2024
CVE-2026-24661MEDIUM6.5
  • Mattermost logoMattermost
  • cpe:2.3:a:mattermost:mattermost
NoYesApr 09, 2026
CVE-2026-21388MEDIUM6.5
  • Mattermost logoMattermost
  • cpe:2.3:a:mattermost:mattermost
NoYesApr 09, 2026
CVE-2024-10214LOW3.5
  • Mattermost logoMattermost
  • govulncheck-vulndb
NoYesOct 28, 2024

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management