Skip to main content

miniOrange SAML SSO CVE-2026-15981

| EUVDEUVD-2026-48429 CRITICAL
Improper Authentication (CWE-287)
2026-07-23 Wordfence GHSA-wgjx-q85h-87v2
9.8
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Identify WordPress site with SAML SSO plugin ≤5.4.4
  2. Delivery
    Craft SAMLResponse with admin NameID and malformed signature
  3. Exploit
    Submit to SAML login endpoint
  4. Execution
    openssl_verify() returns -1, accepted as valid
  5. Persist
    wp_set_auth_cookie() issued for admin
  6. Impact
    Full administrative site takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, 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 that the target WordPress site has the miniOrange SAML Single Sign On - SSO Login plugin (version ≤ 5.4.4) installed and active as a SAML service provider with SP-initiated or IdP-initiated login enabled, so that the plugin's mo_saml_validate_signature() code path processes attacker-submitted SAMLResponse data. The attacker must know or guess a valid NameID/username for an existing account (administrator usernames are frequently enumerable), and must craft a signature value malformed enough to make openssl_verify() return -1 rather than 0. Limiting factors: the plugin must be present and configured for SAML login (not a default WordPress feature), and the targeted account must already exist. Beyond that there are no authentication, privilege, or user-interaction requirements - it is remotely reachable against any affected, configured installation.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 9.8) is internally consistent with the description: fully remote, no privileges, no user interaction, and full compromise of the targeted account up to administrator. This is a genuine high-priority issue rather than a high-CVSS-but-low-real-risk case, because the exploit primitive is simple and deterministic - an attacker only needs to force openssl_verify() to error out with a malformed signature, which requires no secrets or brute force. No EPSS score, KEV listing, or SSVC decision data was provided, so probabilistic exploitation signals cannot be quantified here; the assessment rests on the code-level analysis from Wordfence rather than observed exploitation. No KEV means it is not confirmed as actively exploited, and no POC was supplied, but the trivial and well-documented nature of the bug means weaponization would be low-effort. The one prerequisite that tempers universal risk is that the plugin must actually be installed and configured as a SAML service provider.

Exploit ScenarioDerived

An attacker locates a WordPress site using the miniOrange SAML SSO plugin and submits a crafted SAMLResponse to the plugin's ACS/login endpoint containing a NameID mapping to an administrator account and a deliberately malformed signature value. The malformed signature causes openssl_verify() to return -1 (an OpenSSL processing error), which the plugin misreads as valid, and wp_set_auth_cookie() is called for the admin account. Given AV:N/AC:L/PR:N/UI:N this requires no authentication, no user interaction, and only a single HTTP request; no public POC was identified at time of analysis but the technique is fully described.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
No patch listed yet 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 23, 2026

Authentication bypass in the miniOrange SAML Single Sign On - SSO Login plugin for WordPress (all versions through 5.4.4) lets unauthenticated attackers log in as any user, including administrators. The flaw stems from mo_saml_validate_signature() applying a loose boolean check to the tri-state integer returned by PHP's openssl_verify(), so the error value -1 is treated as truthy and accepted as a valid signature. Reported by Wordfence with a CVSS of 9.8; no public exploit has been identified at time of analysis, though the root cause and vulnerable code lines are publicly documented in the plugin source.

RemediationAI

Update the plugin to the fixed release published in WordPress.org changeset 3611421 (https://plugins.trac.wordpress.org/changeset/3611421/miniorange-saml-20-single-sign-on); an upstream fix is available as a committed changeset, but a specific tagged patched version was not independently confirmed from the provided data, so verify the installed version is newer than 5.4.4 after updating. If you cannot patch immediately, deactivate the SAML SSO Login plugin to close the bypass entirely - the trade-off is that SAML-based login becomes unavailable and users must fall back to standard WordPress authentication. As an interim compensating control, restrict network access to the SAML assertion consumer/login endpoints (for example via WAF rules or IP allowlisting to trusted IdP egress addresses) so arbitrary unauthenticated SAMLResponse submissions are blocked; note this only works where the IdP has a stable, known source range. Review authentication logs and existing admin accounts for unexpected logins created via SAML, since the bypass leaves few other artifacts.

Affected VersionsENISA

SAML Single Sign On – SSO Login 0 ≤5.4.4

Affected Packages

euvd saml_single_sign_on_sso_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 SAML 2.0 response-handling stack (class-mo-saml-login-validate.php, class-mo-saml-utilities.php, and the bundled SAML2Core XML security library). PHP's openssl_verify() is explicitly tri-state: it returns 1 for a valid signature, 0 for an invalid signature, and -1 when an internal OpenSSL processing error occurs. Because the code evaluates the raw return value in a loose boolean context rather than strictly comparing to === 1, the -1 error state passes as success. This is a classic CWE-287 (Improper Authentication) failure driven by a signature-verification logic error: cryptographic verification is effectively skipped, so a SAML assertion's NameID is trusted without a validated signature. Affected package per CPE is cpe:2.3:a:cyberlord92:saml_single_sign_on_-_sso_login (the miniorange-saml-20-single-sign-on plugin).

Know when OpenSSL 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 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.8 CRITICAL

Remote, single unauthenticated request with no user interaction yields full admin account takeover, so AV:N/AC:L/PR:N/UI:N and C:H/I:H/A:H; scope unchanged within WordPress.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/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
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

The SAML Single Sign On - SSO Login plugin for WordPress is vulnerable to Authentication Bypass in all versions up to, and including, 5.4.4. This is due to the mo_saml_validate_signature() function performing a loose boolean check on the raw tri-state integer returned by PHP's openssl_verify(), causing an error return value of -1 to be evaluated as truthy and therefore treated as a successful signature verification. This makes it possible for unauthenticated attackers to log in as any existing WordPress user, including administrators, by submitting a crafted SAMLResponse containing an attacker-controlled NameID and a deliberately malformed signature value that triggers an OpenSSL processing error - bypassing verification entirely and resulting in wp_set_auth_cookie() being called for the targeted account.

Executive ViewAI

Why It Matters

The miniOrange SAML SSO Login plugin for WordPress (all versions through 5.4.4) contains a critical authentication bypass vulnerability (CVSS 9.8) allowing any external attacker to gain administrator-level access without credentials, though no public exploit has been identified at time of analysis. For organizations using this plugin as an identity management layer, this represents complete compromise of access controls and poses an immediate risk of unauthorized administrative access. The vulnerable code is publicly documented, meaning exploitation is likely only a matter of time, requiring urgent removal or replacement of the plugin.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: immediately disable or remove the vulnerable plugin from all WordPress instances; implement WAF rules to block authentication requests to the vulnerable plugin if removal is temporarily impossible; restrict WordPress administrative panel access by strict IP allowlist; conduct emergency audit of all administrator and user accounts for unauthorized creation or privilege escalation; implement real-time alerting for failed login attempts and privilege escalation patterns; require multi-factor authentication on all remaining local administrative accounts; maintain enhanced monitoring and logging until plugin replacement is complete.

Threat Intelligence Overview

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Medium
specific WordPress SSO plugin, common in enterprise sites but not universal
Exploit
POC
Public exploit code exists
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 CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
CRITICAL severity + public POC available
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
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

70
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +49
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2014-0160 HIGH POC
7.5 Apr 07

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe

CVE-2021-3711 CRITICAL POC
9.8 Aug 24

In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Rated cri

CVE-2014-0195 MEDIUM POC
6.8 Jun 05

The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2016-0800 MEDIUM POC
5.9 Mar 01

The SSLv2 protocol, as used in OpenSSL before 1.0.1s and 1.0.2 before 1.0.2g and other products, requires a server to se

CVE-2015-0204 MEDIUM POC
4.3 Jan 09

The ssl3_get_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8zd, 1.0.0 before 1.0.0p, and 1.0.1 before 1.0.1k

CVE-2022-2068 HIGH
7.3 Jun 21

In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas

CVE-2015-4000 LOW POC
3.7 May 21

The TLS protocol 1.2 and earlier, when a DHE_EXPORT ciphersuite is enabled on a server but not on a client, does not pro

CVE-2014-3566 LOW POC
3.4 Oct 15

The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

CVE-2015-1793 MEDIUM POC
6.5 Jul 09

The X509_verify_cert function in crypto/x509/x509_vfy.c in OpenSSL 1.0.1n, 1.0.1o, 1.0.2b, and 1.0.2c does not properly

CVE-2022-3602 HIGH
7.5 Nov 01

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig

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