Skip to content
Laskyr

Plugins · wpo365-login · data as of 2026-11-04

Is WPO365 safe? Known vulnerabilities and latest version

No known unpatched vulnerabilities in the latest version (45.1)

As of 2026-11-04. 7 issues are on record for older versions; version 45.0 or newer fixes all of them that state a fix.

Latest version
45.1
Last updated
2026-10-18
Active installs
10,000+
Known issues on record
7
Unpatched in latest
0
Tested up to WP
7.1.4 · PHP 7.4+

Seamless Microsoft Entra | Ext. ID | B2C | M365 Integration for WordPress. For SSO, Mail, Roles, Access, Sync, Copilot, SharePoint, PowerBI. — by Marco van Wieren

What to do

  1. Update to the latest version (45.1). Anything older than 45.0 has at least one known issue listed below. Dashboard → Updates, or Plugins → “update now”.
  2. If you cannot update right away, deactivate it until you can.
  3. Turn on auto-updates for it: Plugins → “Enable auto-updates” on its row.
  4. If you ran a vulnerable version and something looks off (spam pages, strange admins, redirects), run the free scan.

With WP-CLI: wp plugin get wpo365-login --field=version shows what you run; wp plugin update wpo365-login updates it.

Check your version

Known vulnerabilities

7 on record, newest first. “Affected” is the version range the source gives; “fixed in” is the version the source names, or (marked *) the first wordpress.org release after the last affected version.

high 7.2 CVE-2026-96765 · published 2026-10-10

Stored cross-site scripting (XSS) in WPO365 (44.1 and older)

Affected
44.1 and older
Fixed in
45.0 *
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The WPO365 | SEAMLESS WORDPRESS + MICROSOFT INTEGRATION (WPO365 | LOGIN) plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'id_token' parameter in all versions up to, and including, 44.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The payload is stored in the wpo365_errors transient for up to three days by submitting a crafted unauthenticated request with a forged id_token whose base64url-decoded unique_name or iss claim contains malicious HTML, requiring no prior authentication or user interaction beyond an administrator later visiting the WPO365 wizard page.

NVD CVE-2026-96765Wordfence advisoryCode change (fix)Plugin source

high 8.1 CVE-2026-104759 · published 2026-10-10

Authentication bypass in WPO365 (44.1 and older)

Affected
44.1 and older
Fixed in
45.0 *
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

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.

NVD CVE-2026-104759Wordfence advisoryCode change (fix)Plugin source

high 8.5 CVE-2026-102915 · published 2026-10-06

Missing authorization check in WPO365 (44.1 and older)

Affected
44.1 and older
Fixed in
45.0
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Patchstack
Details from the advisory

Subscriber Broken Access Control in WPO365 <= 44.1 versions.

NVD CVE-2026-102915Patchstack advisory

high 8.8 CVE-2026-15212 · published 2026-07-23

Cross-site request forgery (CSRF) in WPO365 (43.2 and older)

Affected
43.2 and older
Fixed in
43.3 *
Access needed (per CVSS)
No login needed; someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

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.

NVD CVE-2026-15212Wordfence advisoryCode change (fix)Plugin source

medium 6.4 CVE-2025-67961 · published 2026-01-22

Server-side request forgery (SSRF) in WPO365 (40.0 and older)

Affected
40.0 and older
Fixed in
40.1
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Patchstack
Details from the advisory

Server-Side Request Forgery (SSRF) vulnerability in Marco van Wieren WPO365 wpo365-login allows Server Side Request Forgery.This issue affects WPO365: from n/a through <= 40.0.

NVD CVE-2025-67961Patchstack advisory

medium 6.4 CVE-2024-4706 · published 2024-05-23

Stored cross-site scripting (XSS) in WPO365 (27.2 and older)

Affected
27.2 and older
Fixed in
28.0 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The WordPress + Microsoft Office 365 / Azure AD | LOGIN plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's 'pintra' shortcode in all versions up to, and including, 27.2 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

NVD CVE-2024-4706Wordfence advisoryCode change (fix)

high 7.5 CVE-2020-26511 · published 2020-10-02

Authentication bypass in WPO365 (older than 11.7)

Affected
older than 11.7
Fixed in
11.7
Access needed (per CVSS)
No login needed
Range from
NVD analysis · score by NVD
Details from the advisory

The wpo365-login plugin before v11.7 for WordPress allows use of a symmetric algorithm to decrypt a JWT token. This leads to authentication bypass.

NVD CVE-2020-26511Code change (fix)wordpress.orgwpvulndb.comwpo365.com

Recent activity

Browse vulnerabilities

Where this data comes from

Badge for your site or docs (states facts with a date, not a verdict):
WPO365 vulnerability status badge
<a href="https://laskyr.com/plugins/wpo365-login"><img src="https://laskyr.com/plugins/wpo365-login/badge.svg" alt="WPO365 vulnerability status"></a>

← Check another plugin · Free hacked-site scan

First hour checklist

If the site was just hacked, read the emergency kit before you delete files. The page is free. Email is optional.

Read the emergency kit