CVE-2025-12421 Account Takeover via Code Exchange Endpoint
Authenticated users can take over other accounts via the code exchange endpoint due to insufficient token verification in Mattermost.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-12421?
CVE-2025-12421 is a critical authentication bypass vulnerability in Mattermost Mattermost Server, published on 27 Nov 2025. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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).
Weakness: CWE-303
Which versions are affected by CVE-2025-12421?
14 open source packages ship an affected version, including github.com/mattermost/mattermost-server, github.com/mattermost/mattermost-server/v5 and github.com/mattermost/mattermost-server/v6. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/mattermost/mattermost-server Go | All versions | None |
github.com/mattermost/mattermost-server Go | From 10.11.0 | 10.11.5 |
github.com/mattermost/mattermost-server Go | From 10.11.0 | 10.11.5 |
github.com/mattermost/mattermost-server Go | From 10.12.0 | 10.12.2 |
github.com/mattermost/mattermost-server Go | From 10.12.0 | 10.12.2 |
github.com/mattermost/mattermost-server Go | From 10.5.0 | 10.5.13 |
8 more packages
github.com/mattermost/mattermost-server Go | From 10.5.0 | 10.5.13 |
github.com/mattermost/mattermost-server Go | From 11.0.0 | 11.0.3 |
github.com/mattermost/mattermost-server Go | From 11.0.0 | 11.0.3 |
github.com/mattermost/mattermost-server/v5 Go | All versions | None |
github.com/mattermost/mattermost-server/v6 Go | All versions | None |
github.com/mattermost/mattermost/server/v8 Go | All versions | 8.0.0-20251022210333-acda1fb5dd46 |
github.com/mattermost/mattermost/server/v8 Go | All versions | 8.0.0-20251022210333-acda1fb5dd46 |
github.com/mattermost/mattermost/server/v8 Go | All versions | 8.0.0-20251022210333-acda1fb5dd46 |
Products include Mattermost Mattermost Server.
How do I fix CVE-2025-12421?
Upgrade github.com/mattermost/mattermost-server to a fixed version for your release line: 10.11.5, 10.12.2, 10.5.13 or 11.0.3.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is CVE-2025-12421 being exploited?
There is no known exploitation of CVE-2025-12421 in the wild and no public exploit code.
Other vulnerabilities in Mattermost Mattermost Server
- CVE-2025-12419 Account takeover on OAuth/OpenID-enabled servers
- CVE-2025-4981 Path Traversal Leading to RCE by Any Authenticated Mattermost User
- CVE-2025-20051 Arbitrary file read via block duplication in Mattermost Boards
- CVE-2025-25279 Arbitrary file read in Mattermost Boards via import & export board archive
- CVE-2016-11074 Mattermost Server: Insufficient Password-Reset Link Invalidation
Sources
Also known as GHSA-mp6x-97xj-9x62, GO-2025-4170.