Skip to content
BreachModal logoBreachModal
Threat Intelligence5 min read·

Critical miniOrange SAML Flaw (CVE-2023-28843) Exploited

Active exploitation of a critical 9.8 CVSS flaw in the miniOrange SAML WordPress plugin allows total admin takeover. Learn how CVE-2023-28843 works and patch now.

Critical miniOrange SAML Flaw (CVE-2023-28843) Exploited

A catastrophic flaw in a widely used WordPress Single Sign-On plugin is turning enterprise identity providers into a weapon against the very sites they are meant to protect. Threat actors are actively exploiting a critical authentication bypass in the miniOrange SAML 2.0 Single Sign-On plugin, allowing them to instantly become administrators on any vulnerable website without a password.

The vulnerabilities, tracked as [CVE-2023-28843](https://nvd.nist.gov/vuln/detail/CVE-2023-28843) and [CVE-2023-28844](https://nvd.nist.gov/vuln/detail/CVE-2023-28844), carry a CVSS score of 9.8 (Critical). According to researchers at [DigitalOcean who first discovered the flaw](https://www.digitalocean.com/blog/critical-vulnerability-in-minioranges-saml-sso-wordpress-plugin), attackers can forge a malicious SAML response to bypass signature validation entirely. This allows them to impersonate any user, including the primary administrator, and seize complete control of the WordPress instance. The active exploitation campaigns are opportunistic, with attackers scanning broadly for unpatched plugins.

Note what this means: the very mechanism designed to centralize and secure authentication has become the attack vector. This is a systemic failure of the software supply chain. Organizations trust a third-party plugin to handle the most sensitive part of their digital presence—identity—but are left exposed by basic coding errors and a disastrously confusing versioning scheme that hid the availability of patches from paying customers. Why does this keep happening? Because the economic incentive is to ship features and segment customers into complex tiers, not to ensure robust, transparent security lifecycle management.

[Visual Graphic 1]

The Technical Failure: A Cascade of Errors

The full compromise is enabled by chaining two distinct but related flaws. This is not a complex, exotic attack; it is the result of fundamental mistakes in handling cryptographic verification.

The first vulnerability, [CVE-2023-28843](https://nvd.nist.gov/vuln/detail/CVE-2023-28843), is a classic algorithm confusion weakness. The plugin's code blindly trusted the `SignatureMethod` algorithm specified in the incoming SAML response. An attacker can simply change the algorithm from the expected RSA-SHA256 to HMAC-SHA1. The plugin then incorrectly uses the Identity Provider's public RSA key—which is, by definition, public—as the secret key for the HMAC signature validation. This allows anyone with the public key to forge a valid signature.

The second vulnerability, [CVE-2023-28844](https://nvd.nist.gov/vuln/detail/CVE-2023-28844), is even more elementary. The `mo_saml_validate_signature()` function uses a loose boolean check on the return value of PHP's `openssl_verify()` function. This function returns `1` for a valid signature, `0` for an invalid one, and `-1` for an error. It turns out that in PHP, an error (-1) is considered 'true,' a philosophical stance that developers of authentication plugins should perhaps avoid. An attacker can send a malformed signature that causes `openssl_verify()` to error out, and the plugin accepts it as a valid login.

> 🧠 CISO Brief: Your team's reliance on third-party plugins for core functions like SSO is a significant source of risk. The miniOrange SAML vulnerability demonstrates that even paid, enterprise-grade software can contain fundamental flaws. Mandate rigorous code review for any plugin handling authentication and ensure your patch management program can navigate non-standard update channels.

This is a textbook example of how a single insecure coding practice can neutralize a complex security protocol. The entire trust model of SAML is predicated on the integrity of the cryptographic signature, and miniOrange's implementation broke it in two separate ways.

A Patching Maze: The miniOrange SAML Vulnerability's Confusing Footprint

Compounding the technical failure was a logistical nightmare. The miniOrange SAML plugin is not a single product but a collection of seven distinct editions (Free, Premium, Standard, Enterprise, etc.), each with its own independent versioning system. When the vulnerability was disclosed, the initial advisories and the WordPress.org update mechanism only covered the free version.

As a result, thousands of administrators running paid versions of the plugin were never notified that their sites were critically vulnerable. According to analysis by [Wordfence](https://www.wordfence.com/blog/2023/04/critical-authentication-bypass-vulnerability-in-miniorange-saml-sso-plugin/), the WordPress dashboard would not display an update warning for these premium editions, leaving them exposed. Organizations that paid for a more advanced product were, ironically, left in the dark longer.

Here is a partial list of fixed versions, illustrating the complexity: * Free: 5.4.5 * Premium (single site): 13.0.4 * Standard (single site): 17.0.6 * Enterprise (multisite): 20.2.8 * Enterprise (single site): 26.0.3

> ⚠️ BreachModal Insight: This is negligence. Failing to provide a unified and clear update path for all seven product variants that share a critical vulnerability is an unacceptable security practice. Organizations that fail to alert paying customers of a 9.8 CVSS vulnerability are choosing silence over user safety.

This operational failure meant that even security-conscious teams who patch diligently could have easily missed this update. The burden was shifted entirely onto the customer to be aware of the issue through external channels and manually verify which of the seven versioning tracks they were on.

[Visual Graphic 2]

Proof of Concept: Forging Admin Access

An unauthenticated attacker can exploit the miniOrange SAML vulnerability to bypass authentication and log in as any user, including an administrator. The attack involves crafting a malicious SAML response and POSTing it directly to the site's Assertion Consumer Service (ACS) endpoint. The following steps outline the process.

1. Identify Target and User: First, the attacker must identify a WordPress site using a vulnerable version of the miniOrange SAML SSO plugin. They also need the email address or username of a target user to impersonate, such as `admin`.

2. Craft Malicious SAML Response: The attacker constructs an XML-based SAML response. The key fields to populate are the `NameID` (set to the target user's identifier) and the `Destination` (the site's ACS URL).

```xml <samlp:Response ... Destination="https://victim.com/?sso_action=saml_acs" ...> ... <saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">admin@victim.com</saml:NameID> ... </saml:Subject> ... </samlp:Response> ```

3. Manipulate Signature Algorithm: The attacker modifies the `SignatureMethod` element within the `Signature` block. Instead of a secure algorithm like RSA-SHA256, they specify HMAC-SHA1, abusing CVE-2023-28843.

```xml <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" /> ```

4. Forge the Signature: The attacker retrieves the Identity Provider's public X.509 certificate, which is often publicly available in the SAML metadata. They treat this public key as the HMAC secret key and sign their crafted SAML response. The plugin will incorrectly validate this signature as authentic.

5. POST to ACS Endpoint: The final step is to Base64-encode the entire malicious SAML response and POST it as a form parameter (`SAMLResponse`) to the victim website's ACS URL (typically `https://victim.com/?sso_action=saml_acs`).

```bash curl -X POST -d "SAMLResponse=<Base64EncodedPayload>" https://victim.com/?sso_action=saml_acs ```

Upon receiving this request, the vulnerable plugin bypasses the authentication check. The attacker is issued session cookies for the `admin` user and redirected to the WordPress dashboard with full administrative privileges.

> 🧩 Tactical Note: Detection teams should hunt for POST requests to SAML ACS endpoints that contain a `SignatureMethod` of `hmac-sha1`. This is highly anomalous for typical SAML configurations and a strong indicator of an exploitation attempt related to the miniOrange SAML vulnerability.

FINAL VERDICT

The active exploitation of the miniOrange SAML vulnerability is a direct consequence of trusting critical security functions to insecure, poorly maintained third-party code. The risk is borne by every organization that installed this plugin, believing it would enhance their security posture when it actually introduced a catastrophic backdoor. This incident is a stark reminder that the complexity of modern software stacks, especially in ubiquitous platforms like WordPress, creates deep shadows where critical vulnerabilities can hide. A change is required: organizations must move from a model of blind trust in plugins to one of explicit verification, demanding transparent security practices and unified patching mechanisms from all software vendors in their supply chain.

Is your organization's web presence built on a secure foundation? Don't wait for a public disclosure to find out. Contact BreachModal for a comprehensive Adversarial Simulation to identify and neutralize threats before they are exploited.

Want this expertise working for your team?

Schedule a 30-minute call and we'll walk through your specific security posture.

Book a consultation
← Back to all articles