CVE-2026-76877 · Package
NO FIX YET · SEE WHAT TO DO
The WPML Multilingual CMS plugin for WordPress, up to and including 4.9.7, derives a predictable single-sign-on token during logout. An unauthenticated attacker can forge the token within a 60-second window and get WordPress login cookies issued for a user who is logging out, including administrators.
first public Nov 10, 2026 · 1 source
Could this affect your app?
Free first check from your website. Connect your repo for the full answer.
WordPress sites running WPML up to and including 4.9.7 that use its cross-domain single sign-on across language domains are exposed. The sources do not say whether sites without that feature are safe, so unknown. Sites that do not run WPML can skip it.
Not affected if plugin-not-installed
Who cares self-hosted, wordpress, wpml
wp plugin get sitepress-multilingual-cms --field=version if WP-CLI is available4.9.7 is affected; the sources do not state a fixed versionThe 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 process_iframe_request function's language-per-domain SSO handler generating the cross-domain sign-in token via wp_create_nonce('wpml_sso') on the logout landing page, where the browser has already discarded its authentication cookies — so wp_get_session_token() 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 wpml_sso_user_<token>_<sha256('wpml_sso'.$domain)> transient mapped to the victim's user_id 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 is_iframe_request() gate conditions (the per-domain SSO started transient and domain-hash derived from the public constant SSO_NONCE) are fully computable within the 60-second SSO_TIMEOUT window, an unauthenticated attacker can submit the forged parameter with a status to a secondary language-domain endpoint before the legitimate 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.
Check it with your coding agent
It reads this page and tells you if your code is affected.
Are you affected?
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
wpml_sso_token_domainwpml_user_signed_inwpml_user_signed_outThis page as .md · .json · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.