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).
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