CVE-2026-76877
Last modified
CVE-2026-76877 is a high-severity vulnerability rated 8.1/10 on the CVSS scale. 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 `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. EPSS estimates a 0.40% chance of exploitation in the next 30 days.
Description
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 `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 `wpml_sso_token_domain` parameter with a `wpml_user_signed_in` status to a secondary language-domain endpoint before the legitimate `wpml_user_signed_out` 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.
Metrics
Weakness Enumeration
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2026-76877?
How severe is CVE-2026-76877?
How do I fix CVE-2026-76877?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-76870Netcore NR255-V version 1.5.130703 contains an out-of-bounds…7.1
- CVE-2026-76871Netcore NR255-V version 1.5.130703 contains a sensitive info…6.5
- CVE-2026-76872Netcore NR255-V version 1.5.130703 contains a stored cross-s…5.4
- CVE-2026-76873Netcore NR255-V version 1.5.130703 contains a stored cross-s…5.2
- CVE-2026-76875PyPy before versions 3.11.16 and 3.12.14 contains a use-afte…5.3
- CVE-2026-76876Craftplan before 0.5.1 contains a broken access control vuln…5.9
- CVE-2026-76878In OpenStack Aodh before 22.0.1, the alarm list API bypasses…8.4
- CVE-2026-76879C12.22 protocol dissector crash in 4.6.0 to 4.6.7 and 4.4.0 …7.5
- CVE-2026-7688A vulnerability was identified in Dolibarr ERP CRM up to 23.…5
- CVE-2026-76880RRC protocol dissector crash in 4.6.0 to 4.6.7 and 4.4.0 to …7.5
- CVE-2026-76881CMS protocol dissector crash in 4.6.0 to 4.6.7 and 4.4.0 to …5.5
- CVE-2026-76882Bluetooth Attribute Protocol dissector crash in 4.6.0 to 4.6…5.5
Are you affected by CVE-2026-76877?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
