Read the docs

Authentication bypass in WPO365 WordPress plugin via OIDC nonce replay

Priority LOW 38CWE-287Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-287.

Summary

The WPO365 | LOGIN plugin for WordPress, up to and including 44.1, has an authentication bypass (CWE-287). The OIDC nonce check calls the WordPress core wp_verify_nonce() function, which cannot verify the plugin's nonce, so the failed check does not stop authentication. An unauthenticated attacker who holds a previously issued, valid id_token for a target account can replay it to log in as any WordPress user, including administrators. This is exploitable only when the use_id_token_parser_v2 plugin option is enabled.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

The WPO365 | SEAMLESS WORDPRESS + MICROSOFT INTEGRATION (WPO365 | LOGIN) plugin for WordPress is vulnerable to Authentication Bypass via OIDC Nonce Replay in all versions up to, and including, 44.1 This is due to `Id_Token_Service_Deprecated::process_openidconnect_token()` using the incompatible WordPress core `wp_verify_nonce()` function to validate a nonce produced by `Nonce_Service::create_nonce()` — a 64-character hex value that `wp_verify_nonce()` can never successfully verify — causing the nonce check to silently fail without terminating authentication, so execution continues into `authenticate_oidc_user()` with the attacker-supplied `id_token`. This makes it possible for unauthenticated attackers who have obtained a previously-issued, valid `id_token` for a target account to replay that token and authenticate as any WordPress user, including administrators, resulting in full site takeover. This vulnerability is only exploitable when the `use_id_token_parser_v2` plugin option is enabled, as this is the configuration that routes token processing through the deprecated parser containing the broken nonce check.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00515 44th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
wpo365WPO365 | SEAMLESS WORDPRESS + MICROSOFT INTEGRATION (WPO365 | LOGIN)up to 44.1—No fix listedCNA
  • WPO365 | SEAMLESS WORDPRESS + MICROSOFT INTEGRATION (WPO365 | LOGIN) Vendorwpo365 Affected up to 44.1 Fixed in — No fix listed CNA

Remediation

The sources list no fixed version for WPO365 | WORDPRESS + MICROSOFT INTEGRATION (WPO365 | LOGIN).

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Timeline

  1. 2026-10-10 Threatist record created from CVE-2026-104759
  2. 2026-10-10 Alias added: GHSA-p38j-g4g4-fm3g
  3. 2026-10-11 Priority changed: MEDIUM → LOW
  4. 2026-10-11 CISA SSVC decision points changed

References

  • TI-2021-19351 WPO365 | LOGIN - Wordpress Plugin Persistent Cross-Site Scripting CVSS 3.1CRITICAL 9.3
  • TI-2026-85151 Authentication bypass via SAML replay in WPO365 LOGIN plugin CVSS 4.0CRITICAL 9.1
  • TI-2026-12809 Cross-site request forgery in WPO365 | SEAMLESS WORDPRESS + MICROSOFT INTEGRATION CVSS 3.1HIGH 8.8
  • TI-2020-16157 The wpo365-login plugin before v11.7 for WordPress allows use of a symmetric algorithm to… CVSS 3.1HIGH 7.5
  • TI-2026-70212 Stored cross-site scripting in WPO365 Login WordPress plugin CVSS 3.1HIGH 7.2
  • TI-2026-83509 Stored cross-site scripting in WPO365 Microsoft 365 Graph Mailer CVSS 3.1HIGH 7.2
See all 9 →

Sources