CVE-2026-21388
Mattermost vulnerability analysis and mitigation

Overview

CVE-2026-21388 is a denial-of-service vulnerability in the Mattermost MS Teams plugin (mattermost-plugin-msteams) caused by an unbounded request body read on the /lifecycle webhook endpoint. Mattermost Plugins versions ≤2.3.1 are affected; the issue is fixed in version 2.3.2 (Go package version 1.15.1-0.20260213190728-6fe4d295592e). The vulnerability was published on April 9, 2026, under Mattermost Advisory ID MMSA-2026-00610. The CVSS v3.1 base score is 6.5 (Medium) per NVD, while GitHub Advisory Database rates it 3.7 (Low) using a higher attack complexity vector (GitHub Advisory, Mattermost Security).

Technical details

The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the /lifecycle webhook endpoint in the Mattermost MS Teams plugin does not enforce any maximum size on the incoming HTTP request body. An authenticated attacker can send an arbitrarily large JSON payload to this endpoint, causing the server to allocate unbounded memory while parsing the payload. No special privileges beyond a valid authentication credential are required, and the attack is conducted entirely over the network with low complexity (GitHub Advisory). A technical write-up describing the unbounded request body read behavior is available from Infinit Security (Infinit Security).

Impact

Successful exploitation results in memory exhaustion on the host running the Mattermost MS Teams plugin, leading to a denial-of-service condition where the plugin service becomes unavailable or unresponsive. There is no impact on confidentiality or data integrity — the attack is limited to availability. Depending on deployment architecture, memory exhaustion could also degrade or crash co-located Mattermost server processes, affecting all users of the Mattermost instance (GitHub Advisory, Mattermost Security).

Exploitation steps

  1. Obtain authentication credentials: Acquire valid Mattermost credentials (e.g., a standard user account) that allow interaction with the MS Teams plugin webhook endpoint.
  2. Identify the target endpoint: Locate the /lifecycle webhook endpoint exposed by the Mattermost MS Teams plugin on the target Mattermost server.
  3. Craft an oversized JSON payload: Construct an HTTP POST request containing an extremely large JSON body (e.g., a multi-megabyte or gigabyte-scale JSON object or array) targeting the /lifecycle endpoint.
  4. Send the request: Transmit the crafted request to the endpoint using a tool such as curl or a custom script. The server will attempt to read and parse the entire request body without enforcing a size limit.
  5. Trigger memory exhaustion: The server allocates memory proportional to the payload size, eventually exhausting available RAM and causing the plugin process (and potentially the Mattermost server) to become unresponsive or crash, achieving denial of service (GitHub Advisory, Infinit Security).

Indicators of compromise

  • Network: Unusually large HTTP POST requests (multi-megabyte or larger bodies) directed at the Mattermost MS Teams plugin /lifecycle webhook endpoint from authenticated sessions.
  • Logs: Mattermost or plugin access logs showing repeated or single very large POST requests to /lifecycle; out-of-memory (OOM) error messages in system or application logs coinciding with such requests.
  • Process/System: Sudden spike in memory consumption by the Mattermost plugin process (mattermost-plugin-msteams); OOM killer events in Linux kernel logs (dmesg or /var/log/syslog) referencing the Mattermost process; unexpected plugin process crashes or restarts.

Mitigation and workarounds

Upgrade the Mattermost MS Teams plugin to version 2.3.2 or later (Go package 1.15.1-0.20260213190728-6fe4d295592e), which enforces request body size limits on the /lifecycle endpoint (GitHub Advisory, Mattermost Security). As a temporary workaround prior to patching, administrators can implement network-level controls (e.g., reverse proxy or WAF rules) to enforce maximum request body sizes on the /lifecycle endpoint, and apply rate limiting to restrict the volume of requests from any single authenticated user. Restricting access to the webhook endpoint to only trusted sources via firewall or network policy can further reduce exposure.

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