CVE-2025-12421: Mattermost fails to to verify the token used during code exchange
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.
Published Nov 27, 2025 · Updated Dec 1, 2025
Affected packages
github.com/mattermost/mattermost/server/v8
- Ecosystem
- Go
- Affected
- < 8.0.0-20251022210333-acda1fb5dd46
- Fixed in
- 8.0.0-20251022210333-acda1fb5dd46
- Check
go list -m github.com/mattermost/mattermost/server/v8
github.com/mattermost/mattermost-server
- Ecosystem
- Go
- Affected
- >= 11.0.0, < 11.0.3
- Fixed in
- 11.0.3
- Check
go list -m github.com/mattermost/mattermost-server
github.com/mattermost/mattermost-server
- Ecosystem
- Go
- Affected
- >= 10.12.0, < 10.12.2
- Fixed in
- 10.12.2
- Check
go list -m github.com/mattermost/mattermost-server
github.com/mattermost/mattermost-server
- Ecosystem
- Go
- Affected
- >= 10.11.0, < 10.11.5
- Fixed in
- 10.11.5
- Check
go list -m github.com/mattermost/mattermost-server
github.com/mattermost/mattermost-server
- Ecosystem
- Go
- Affected
- >= 10.5.0, < 10.5.13
- Fixed in
- 10.5.13
- Check
go list -m github.com/mattermost/mattermost-server
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
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).
References
- https://nvd.nist.gov/vuln/detail/CVE-2025-12421
- https://mattermost.com/security-updates
- https://github.com/mattermost/mattermost/commit/5072bbf689a46b3b97b2373f26149f5891396e6b
- https://github.com/mattermost/mattermost/commit/acda1fb5dd46a2f46c76ae67012423c760525eaa
- https://github.com/mattermost/mattermost/commit/f361e7d75a7ab9df5a2106e1ceb919b94b55e41d
- https://github.com/mattermost/mattermost/commit/feb598ed2b7ac3cb78a253b032ad7e4628b0de00
- https://github.com/advisories/GHSA-mp6x-97xj-9x62
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More Go vulnerabilities
All Go entriesCVE-2025-12419
Mattermost fails to properly validate OAuth state tokens during OpenID Connect authentication
critical9.9Nov 27, 2025CVE-2025-4981
Mattermost allows authenticated users to write files to arbitrary locations
critical9.9Jun 20, 2025CVE-2025-20051
Mattermost allows reading arbitrary files
critical9.9Feb 24, 2025CVE-2025-25279
Mattermost allows reading arbitrary files related to importing boards
critical9.9Feb 24, 2025CVE-2024-39274
Mattermost failed to properly validate that the channel that comes from the sync message is a shared channel
critical8.7Aug 1, 2024CVE-2024-39777
Mattermost allows unsolicited invites to expose access to local channels
critical8.7Aug 1, 2024
