CVE-2026-76877: WPML Multilingual CMS <= 4.9.7 - Unauthenticated Authentication Bypass in Language-per-Domain SSO via 'wpml_sso_token_domain' Parameter

Published Nov 10, 2026
·
Updated

The WPML Multilingual CMS plugin for WordPress is vulnerable to Authentication Bypass via Race Condition in versions up to, and including, 4.9.7. This is due to the processiframerequest function's language-per-domain SSO handler generating the cross-domain sign-in token via wpcreatenonce('wpmlsso') on the logout landing page, where the browser has already discarded its authentication cookies — so wpgetsessiontoken() returns an empty string and the token collapses to the shared anonymous nonce for the current 12-hour tick rather than a user-bound secret — and then storing it in the wpmlssouser<token><sha256('wpmlsso'.$domain)> transient mapped to the victim's userid with no binding to the specific sign-out action or requesting client. Because an unauthenticated attacker can independently derive the identical token by triggering the logout confirmation flow on wp-login.php?action=logout, and because the isiframerequest() gate conditions (the per-domain SSO started transient and domain-hash derived from the public constant SSONONCE) are fully computable within the 60-second SSOTIMEOUT window, an unauthenticated attacker can submit the forged wpmlssotokendomain parameter with a wpmlusersignedin status to a secondary language-domain endpoint before the legitimate wpmlusersignedout iframe fires, causing WordPress authentication cookies to be issued for the victim. This makes it possible for unauthenticated attackers to gain access to accounts of users — including administrators — who are actively in the process of logging out during the race window.

Event History

Nov 10, 2026
CVE Published
via MITRE·06:47 AM
Data Sourced
via MITRE·06:47 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·07:16 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

The affected code is the language-per-domain SSO handler in WPML Multilingual CMS versions through 4.9.7. The provided information does not establish whether this SSO mode is enabled by default, so deployments should verify whether they use language-per-domain SSO.

2

Does exploitation require an existing account or user interaction?

No. The described attacker is unauthenticated and can derive the same anonymous token by initiating the WordPress logout confirmation flow. No victim interaction is described as a prerequisite.

3

What timing condition applies to exploitation?

The attacker must satisfy the iframe-request gate while the per-domain SSO started transient is valid. The provided data states that this SSO_TIMEOUT window is 60 seconds.

4

How can I assess whether my site is affected?

Check whether WPML Multilingual CMS is version 4.9.7 or earlier and whether language-per-domain SSO is in use. The issue involves tokens stored in transients named wpml_sso_user_<token>_<sha256('wpml_sso'.$domain)>.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203