CVE-2025-12421: GO-2025-4170 - Mattermost fails to to verify the token used during code exchange in github.com/mattermost/mattermost-server

CVE-2025-12421 · Severity: critical · CVSS 9.9 · Published 2025-11-27

Mattermost versions 11.0.x <= 11.0.2, 10.12.x <= 10.12.1, 10.11.x <= 10.11.4, 10.5.x <= 10.5.12 fail to to verify that the token used during the code exchange originates from the same authentication flow, which allows an authenticated user to perform account takeover via a specially crafted email address used when switching authentication methods and sending a request to the /users/login/sso/code-exchange endpoint. The vulnerability requires ExperimentalEnableAuthenticationTransfer to be enabled (default: enabled) and RequireEmailVerification to be disabled (default: disabled).

Technologies: github.com/mattermost/mattermost-server (Go), github.com/mattermost/mattermost-server/v5 (Go), github.com/mattermost/mattermost-server/v6 (Go), github.com/mattermost/mattermost/server/v8 (Go), Mattermost Server. Vendors: Go, Mattermost.

Quick answers

Is CVE-2025-12421 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-12421 being exploited in the wild.
How severe is CVE-2025-12421?
Critical severity, with a CVSS score of 9.9, published 27 November 2025.
Which products and versions are affected?
github.com/mattermost/mattermost-server (Go) SEMVER:introduced=0, SEMVER:introduced=11.0.0,fixed=11.0.3; github.com/mattermost/mattermost-server/v5 (Go) SEMVER:introduced=0; github.com/mattermost/mattermost-server/v6 (Go) SEMVER:introduced=0; github.com/mattermost/mattermost/server/v8 (Go) SEMVER:introduced=0,fixed=8.0.0-20251022210333-acda1fb5dd46.
Is there a fix for CVE-2025-12421?
Yes. github.com/mattermost/mattermost-server (Go): upgrade to 11.0.3 or later; github.com/mattermost/mattermost/server/v8 (Go): upgrade to 8.0.0-20251022210333-acda1fb5dd46 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
Am I affected by CVE-2025-12421?
Check whether you run github.com/mattermost/mattermost-server (Go), github.com/mattermost/mattermost-server/v5 (Go), github.com/mattermost/mattermost-server/v6 (Go) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/mattermost/mattermost-server (Go): upgrade to 11.0.3 or later
    go get github.com/mattermost/mattermost-server@v11.0.3
  • github.com/mattermost/mattermost/server/v8 (Go): upgrade to 8.0.0-20251022210333-acda1fb5dd46 or later
    go get github.com/mattermost/mattermost/server/v8@v8.0.0-20251022210333-acda1fb5dd46

Affected products

  • github.com/mattermost/mattermost-server (Go) SEMVER:introduced=0, SEMVER:introduced=11.0.0,fixed=11.0.3
  • github.com/mattermost/mattermost-server/v5 (Go) SEMVER:introduced=0
  • github.com/mattermost/mattermost-server/v6 (Go) SEMVER:introduced=0
  • github.com/mattermost/mattermost/server/v8 (Go) SEMVER:introduced=0,fixed=8.0.0-20251022210333-acda1fb5dd46
  • Mattermost Server

Identifiers

  • CVE-2025-12421
  • GHSA-mp6x-97xj-9x62
  • GO-2025-4170

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.