Skip to main content

WPO365 Login CVE-2026-15212

| EUVDEUVD-2026-48382 HIGH
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-07-23 Wordfence GHSA-4w3q-g484-rj57
8.8
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Host malicious auto-submit page
  2. Delivery
    Phish logged-in WordPress admin
  3. Exploit
    Forged POST to wpo365_update_settings
  4. Install
    Nonce check skipped, options merged
  5. C2
    Enable SCIM + plant scim_secret_token
  6. Execute
    Set default role to administrator
  7. Impact
    Provision/elevate attacker account to admin

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the plugin to be running in its default state where 'enable_nonce_check' is absent/false (the shipped default), so no attacker authentication is needed, but it DOES require tricking a currently logged-in WordPress administrator into performing an action such as clicking an attacker link or visiting a malicious page (UI:R) so the forged cross-origin POST rides the admin's authenticated session to admin-ajax.php. Limiting factors: the victim must be an authenticated administrator with an active session at the time of the click; if a site operator has explicitly turned on 'enable_nonce_check', the wp_verify_nonce() gate closes and the CSRF fails; and there is no server-side compromise without the admin interaction, so purely automated mass exploitation is not viable.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, base 8.8) is internally consistent with the described attack: network-reachable, low complexity, no attacker privileges, but requiring administrator user interaction (clicking a link), with high impact across confidentiality, integrity and availability because the attacker can escalate to a site-wide compromise. The main limiting factor is UI:R - this is not a wormable, zero-click flaw; it depends on social-engineering a logged-in admin. No EPSS score, KEV entry, or public POC was provided, so real-world exploitation probability cannot be quantified from the input and there is no public exploit identified at time of analysis; the signal that raises priority is the credibility of the Wordfence disclosure plus the very concrete exploitation path (enable_scim + scim_secret_token + new_usr_default_role=administrator), which turns an options-write into full administrative account creation. Net: this is a genuine high-priority patch-now issue for sites running the plugin, but the requirement for admin interaction means it is more suited to targeted phishing than mass automated exploitation. No conflicting signals were observed between the CVSS vector and the description.

Exploit ScenarioDerived

An attacker crafts a malicious web page containing a hidden auto-submitting form (or a link) that POSTs a base64/JSON 'settings' payload to the site's admin-ajax.php wpo365_update_settings action, then phishes a site administrator into visiting it while logged in. Because the nonce check is disabled by default, the forged request succeeds and the payload flips enable_scim on, plants an attacker-known scim_secret_token, and sets new_usr_default_role to 'administrator', letting the attacker provision or elevate an account to full admin. No public POC was provided, but the Wordfence write-up documents the exact options needed.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

Privilege escalation via Cross-Site Request Forgery affects the WPO365 | Login plugin for WordPress (versions up to and including 43.2), where an unauthenticated attacker who tricks a logged-in administrator into clicking a crafted link can overwrite arbitrary plugin options and seize control of the site. The root cause is that the AJAX settings handler's nonce check is gated behind an 'enable_nonce_check' option that is absent from the default configuration, so it silently evaluates to false and no CSRF protection runs. There is no public exploit identified at time of analysis and it is not listed in CISA KEV, but the technical write-up from Wordfence is detailed enough to make reproduction straightforward, and the 8.8 CVSS reflects the full-takeover potential.

RemediationAI

Upgrade the WPO365 | Login plugin to the fixed release published after 43.2; an upstream fix is available as SVN changeset 3610759 (https://plugins.trac.wordpress.org/changeset/3610759/wpo365-login), but a specific tagged patched version is not stated in the available data, so confirm the exact release on the plugin page before relying on a version number. If immediate upgrade is not possible, the most direct compensating control is to explicitly enable the 'enable_nonce_check' option in the plugin configuration so that wp_verify_nonce() actually runs on the AJAX settings handler - this restores CSRF protection with essentially no functional downside. As additional hardening, restrict or disable the plugin's SCIM REST endpoint (enable_scim) if you do not use Microsoft-driven provisioning, audit wpo365_options for unexpected values (particularly scim_secret_token and new_usr_default_role), and place the wp-admin/wp-ajax surface behind a WAF or admin-IP allowlist to reduce the chance a forged request reaches an authenticated admin session; note the WAF/IP controls add operational friction and do not fix the underlying missing check. Consult the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/51d0ba58-614e-4284-ae0b-b0b76fc5c46d) for detection guidance.

Affected VersionsENISA

WPO365 | SEAMLESS WORDPRESS + MICROSOFT INTEGRATION (WPO365 | LOGIN) 0 ≤43.2

Affected Packages

euvd wpo365_seamless_wordpress_microsoft_integration_wpo365_login no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability lives in the plugin's AJAX layer (Ajax_Service::verify_ajax_request()), which is supposed to call wp_verify_nonce() to prove that a state-changing request originated from the WordPress admin UI. That call is conditionally executed only when the boolean option 'enable_nonce_check' is true; because that key is not present in the default 'wpo365_options' array, get_global_boolean_var() returns false and the nonce verification is skipped entirely. The wp_ajax_wpo365_update_settings hook therefore reaches Ajax_Service::update_settings(), which decodes an attacker-supplied base64/JSON 'settings' payload and passes it to Options_Service::update_options(), which blindly merges every key/value into wpo365_options with no allowlist. This is the textbook shape of CWE-352 (Cross-Site Request Forgery) compounded by a missing input allowlist: a security control exists in code but is disabled by default, and the write path trusts arbitrary keys. The affected component is identified by CPE cpe:2.3:a:wpo365:wpo365_|_seamless_wordpress_+_microsoft_integration_(wpo365_|_login), a plugin that bridges WordPress authentication and user provisioning with Microsoft Entra ID/Azure AD, which is why SCIM provisioning options are among the sensitive settings that can be tampered with.

Know when Wordpress Plugin gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Unauthenticated network CSRF (PR:N, AV:N, AC:L) needs admin to click (UI:R); arbitrary option overwrite enabling admin creation yields full C/I/A high.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

WPO365 | Login plugin for WordPress (versions through 43.2) contains a critical CSRF vulnerability allowing attackers to seize complete control of WordPress sites through a deceptive link sent to site administrators. An attacker with no prior access can override all site configuration, create backdoors, and lock out legitimate administrators. Organizations must immediately audit and remove this plugin from all WordPress instances.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) immediate plugin disablement or uninstallation; (2) IP whitelisting for WordPress admin panel access; (3) mandatory multi-factor authentication for all administrator accounts; (4) security awareness training emphasizing CSRF phishing tactics; (5) daily review of WordPress admin user accounts and permissions for unauthorized additions.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Medium
popular but niche WordPress Microsoft/Entra integration plugin, not universal
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2024-1698 CRITICAL POC
9.8 Feb 27

SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a

CVE-2023-6875 CRITICAL POC
9.8 Jan 11

The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i

CVE-2024-1512 CRITICAL POC
9.8 Feb 17

The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base

CVE-2024-4295 CRITICAL POC
9.8 Jun 05

The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in

CVE-2024-50498 CRITICAL POC
10.0 Oct 28

Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy