Description
The WPO365 | Login plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 43.2. This is due to the Ajax_Service::verify_ajax_request() helper gating its wp_verify_nonce() call behind the boolean option 'enable_nonce_check', which is absent from the default 'wpo365_options' array and therefore evaluates to false via get_global_boolean_var(); as a result, the wp_ajax_wpo365_update_settings handler (Ajax_Service::update_settings) accepts POSTs from cross-origin pages and forwards the attacker-supplied 'settings' payload (base64/JSON) to Options_Service::update_options(), which merges every key/value into wpo365_options without a key allowlist. This makes it possible for unauthenticated attackers to overwrite arbitrary plugin options — including enabling the SCIM REST endpoint (enable_scim), planting an attacker-known scim_secret_token, and setting new_usr_default_role to 'administrator' — via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.
Published: 2026-07-23
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The WPO365 | Login plugin suffers from a Cross‑Site Request Forgery flaw that bypasses nonce verification. An attacker can send a forged POST to the wp_ajax_wpo365_update_settings endpoint, delivering a base64‑encoded JSON payload of plugin options. The endpoint merges all submitted keys into the global wpo365_options array without a whitelist, allowing an unauthenticated user to overwrite arbitrary settings, such as enabling the SCIM REST endpoint, inserting a known scim_secret_token, and setting new_usr_default_role to administrator. This flaw enables privilege escalation to full site administration.

Affected Systems

All WordPress installations that use the WPO365 | Seamless WordPress + Microsoft Integration (Login) plugin with version 43.2 or older are affected, regardless of the WordPress core version. Sites running newer plugin releases are not impacted.

Risk and Exploitability

The vulnerability has a CVSS score of 8.8, indicating high severity. The EPSS score is less than 1 %, which suggests a low probability of exploitation at the moment, but the attack vector is simple: a cross‑origin POST that an administrator might trigger through a malicious link. The issue is not listed in CISA’s KEV catalog, so widespread exploit code may not yet exist, yet the potential for full administrative takeover warrants treating it with the same priority as a remote code execution risk.

Generated by OpenCVE AI on August 3, 2026 at 21:02 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the WPO365 | Login plugin to the latest release that fixes the CSRF issue and restores the option whitelist.
  • If an upgrade cannot be performed immediately, disable the SCIM endpoint in the plugin’s settings, remove any custom scim_secret_token, and ensure new_usr_default_role is not set to administrator.
  • Implement an application‑layer restriction on the wp_ajax_wpo365_update_settings handler so that only requests containing a valid authenticated nonce originating from the same site are accepted; if modifying the plugin is not feasible, deploy a WAF rule or reverse‑proxy filter to block payloads that include the ‘settings’ parameter or require a nonce in the request.

Generated by OpenCVE AI on August 3, 2026 at 21:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 27 Jul 2026 13:15:00 +0000

Type Values Removed Values Added
First Time appeared Wordpress
Wordpress wordpress
Wpo365
Wpo365 wpo365 | Seamless Wordpress + Microsoft Integration (wpo365 | Login)
Vendors & Products Wordpress
Wordpress wordpress
Wpo365
Wpo365 wpo365 | Seamless Wordpress + Microsoft Integration (wpo365 | Login)

Fri, 24 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Description The WPO365 | Login plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 43.2. This is due to the Ajax_Service::verify_ajax_request() helper gating its wp_verify_nonce() call behind the boolean option 'enable_nonce_check', which is absent from the default 'wpo365_options' array and therefore evaluates to false via get_global_boolean_var(); as a result, the wp_ajax_wpo365_update_settings handler (Ajax_Service::update_settings) accepts POSTs from cross-origin pages and forwards the attacker-supplied 'settings' payload (base64/JSON) to Options_Service::update_options(), which merges every key/value into wpo365_options without a key allowlist. This makes it possible for unauthenticated attackers to overwrite arbitrary plugin options — including enabling the SCIM REST endpoint (enable_scim), planting an attacker-known scim_secret_token, and setting new_usr_default_role to 'administrator' — via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.
Title WPO365 | SEAMLESS WORDPRESS + MICROSOFT INTEGRATION (WPO365 | LOGIN) <= 43.2 - Cross-Site Request Forgery to Privilege Escalation via Plugin Settings Update
Weaknesses CWE-352
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}


Subscriptions

Wordpress Wordpress
Wpo365 Wpo365 | Seamless Wordpress + Microsoft Integration (wpo365 | Login)
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-24T14:27:08.898Z

Reserved: 2026-07-09T07:43:41.039Z

Link: CVE-2026-15212

cve-icon Vulnrichment

Updated: 2026-07-24T14:27:03.738Z

cve-icon NVD

Status : Deferred

Published: 2026-07-23T20:17:07.460

Modified: 2026-07-24T20:46:13.880

Link: CVE-2026-15212

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T21:15:04Z

Weaknesses
  • CWE-352

    Cross-Site Request Forgery (CSRF)