Two Critical miniOrange SAML WordPress Flaws Are Being Exploited: A CVSS 98 Authentication Bypass Puts Admin Accounts at Risk + Video

Listen to this Post

Featured Image

A Dangerous Shortcut Into WordPress

Authentication is supposed to be the front door of a website. When that door can be bypassed without a password, the consequences can be devastating, especially when the vulnerable software controls access to WordPress administrator accounts.

That is the situation surrounding two critical vulnerabilities in the miniOrange SAML 2.0 Single Sign On WordPress plugin. Tracked as CVE-2026-61979 and CVE-2026-15981, both vulnerabilities carry a CVSS score of 9.8 and have been observed under active exploitation.

The most alarming part is not simply that attackers can bypass authentication. The bigger problem is that the vulnerabilities affected multiple editions of the plugin, while the security ecosystem initially had incomplete information about those editions and their independent version numbers.

For many administrators using paid versions of the plugin, conventional security tools could effectively report that their installations were patched when the vulnerable code was still present.

That creates an unusually dangerous combination: a critical authentication bypass, active exploitation, fragmented product versions, incomplete vulnerability reporting, and an update mechanism that may not automatically guide affected administrators toward the correct fix.

The Two Vulnerabilities Behind the Attack

CVE-2026-61979: An Algorithm Confusion Problem

The first vulnerability, CVE-2026-61979, stems from the way the plugin processes cryptographic signatures in incoming SAML authentication responses.

SAML authentication depends on digital signatures to establish that an authentication assertion genuinely came from a trusted identity provider. The security model assumes that the application will enforce the expected signing method rather than blindly accepting an algorithm selected by an attacker.

In this case, the vulnerable implementation trusted the algorithm specified inside the incoming SAML response.

Turning a Public Key Into the Secret

The problem becomes particularly serious when an attacker switches the declared signature algorithm to HMAC-SHA1.

The vulnerable code could then use the identity provider’s RSA public key as the HMAC secret.

That sounds complicated, but the security failure is surprisingly straightforward.

An RSA public key is not secret. It is designed to be publicly available. If a server takes that public key and reinterprets it as a secret HMAC signing key, an attacker can potentially construct an authentication response that passes verification.

The attacker does not need to steal the private key because the vulnerable implementation has effectively changed the rules of the cryptographic system.

Forging the SAML Assertion

The attacker can obtain the identity

The vulnerable plugin then processes the forged response as though it were legitimately signed.

If the attacker chooses an existing WordPress account, the authentication bypass can potentially result in a session belonging to that account.

When the targeted account has administrator privileges, the consequences become much more serious.

CVE-2026-15981: When an Error Becomes “True”

The second vulnerability, CVE-2026-15981, comes from a completely different programming mistake.

This vulnerability involves how PHP code handles the return value from openssl_verify().

The function does not simply return true or false.

It can return:

1 when the signature is valid.

0 when the signature is invalid.

-1 when OpenSSL encounters an error.

The distinction is critical.

PHP Type Handling Creates the Trap

The vulnerable plugin treated the return value as though it were a straightforward Boolean result.

That becomes dangerous because PHP considers non-zero integers truthy in Boolean contexts.

As a result, an attacker can potentially construct a malicious signature that causes OpenSSL to return -1.

Instead of treating the cryptographic operation as failed, vulnerable code can interpret that value as successful authentication.

A cryptographic error therefore becomes an authentication success.

A Small Coding Error With Huge Consequences

This is an important lesson in secure software development.

The underlying mistake may appear small when viewed as a few lines of PHP. The security impact, however, is enormous because those lines sit directly inside an authentication mechanism.

A failed cryptographic verification should never be allowed to become a successful login.

The Seven-Edition Problem

One WordPress Slug, Multiple Products

The vulnerability story becomes even more complicated because miniOrange distributes several editions of its SAML plugin under the same WordPress slug:

miniorange-saml-20-single-sign-on

At first glance, that might look like a normal plugin with a conventional version history.

It is not.

The same listing encompasses multiple product editions with independently numbered release lines.

Why Version Numbers Became a Security Problem

The Free edition uses one version range, while Premium, Standard and VIP editions use substantially higher and separate version numbering.

That creates an unusual problem for vulnerability databases and automated security scanners.

A simplistic check might compare the installed plugin version against the patched Free-edition version.

If the Free edition was fixed at 5.4.5, a paid installation running something such as 16.x could appear newer than the patched version.

The scanner may therefore conclude that the installation is safe.

But version numbers from unrelated product lines cannot reliably be compared that way.

The False Sense of Security

This is where the vulnerability becomes much more than a programming bug.

A site administrator could see a dashboard indicating that the plugin was up to date.

A vulnerability scanner could report no vulnerability.

A database could classify the installation as patched.

Yet the vulnerable authentication code could still be running.

That is a particularly dangerous failure because administrators naturally trust these signals when deciding which security issues require immediate attention.

Why Standard Edition Sites Were Especially Exposed

The Update Path Was Not Straightforward

According to the analysis described in the original report, affected paid editions could require moving to their corresponding patched release line rather than simply installing the Free-edition patch.

For example, a vulnerable Standard edition in the 16.x series could require an update within the 17.x line.

WordPress does not necessarily provide an automatic cross-line upgrade path for such a version structure.

No Update Notification, No Warning

This creates a dangerous chain reaction.

The site owner sees no update.

The security scanner sees a version number that appears newer than the Free-edition fixed version.

The vulnerability database may not identify the paid edition correctly.

The administrator therefore has little reason to investigate.

Meanwhile, an attacker does not need to follow the same assumptions.

An attacker can simply probe the SAML endpoint and attempt the authentication bypass.

DigitalOcean Detected Something the Security Ecosystem Missed

The Network Became the Last Line of Defense

One of the most revealing parts of the incident is how exploitation was detected.

The attack was not necessarily discovered because a WordPress vulnerability scanner raised an alarm.

It was identified through an unusual administrator-session attempt originating outside a trusted network environment.

By the time the anomaly appeared, the attacker had already succeeded in using the authentication bypass to obtain a valid WordPress administrator session cookie.

Defense in Depth Actually Worked

The important detail is that another security control prevented the attacker from immediately turning that session into full administrative access.

The WordPress administration interface was restricted to trusted network ranges.

The stolen administrator session therefore existed, but the attacker could not freely use it from the external network.

This is a textbook example of why security cannot depend on one layer.

The

Vulnerability databases failed to provide sufficient visibility.

Automated update mechanisms failed to alert some administrators.

But network restrictions still stopped the attacker from completing the intrusion.

Attackers Are Already Looking for Vulnerable Sites

Exploitation Is Not Merely Theoretical

Both vulnerabilities have reportedly been observed in active exploitation.

Security teams have also observed scanning activity associated with multiple IP addresses across several countries, including Belgium, Nigeria, the United States and Germany.

The activity appears opportunistic rather than carefully tailored to individual victims.

Attackers Do Not Need to Know the Edition First

This makes the situation particularly uncomfortable for administrators.

An attacker can probe websites using the vulnerable SAML functionality without necessarily knowing exactly which product edition or version is installed.

The attacker can test the authentication mechanism directly.

Administrators, meanwhile, may have difficulty determining whether their installation is affected because the edition and version relationship is not obvious from the common WordPress plugin slug.

Why This Incident Matters Beyond miniOrange

Vulnerability Databases Depend on Vendor Transparency

Security databases are essential infrastructure for modern vulnerability management.

Security scanners consume their data.

Managed security providers consume their data.

Hosting companies consume their data.

Administrators consume their data.

When the underlying vendor information is incomplete, every downstream system can inherit the same mistake.

Version Numbers Are Not Universal Security Indicators

This incident demonstrates why “higher version equals safer version” is not always a valid assumption.

Version numbers only make sense within the product line they belong to.

A version 16.x release of one edition cannot automatically be considered safer than version 5.x of another edition simply because the number is larger.

Security tools need to understand product identity, edition, branch and vulnerability-specific fixes.

The Cryptographic Lesson

Never Trust the Algorithm Chosen by the Attacker

Cryptographic verification should be tightly constrained.

Applications should know which algorithms are acceptable for a particular identity provider and should reject unexpected algorithm changes.

Allowing an authentication message to effectively negotiate its own verification rules creates opportunities for algorithm confusion.

Public Keys Must Never Become Authentication Secrets

The CVE-2026-61979 scenario also demonstrates a fundamental cryptographic principle.

A public key is public.

An HMAC secret must be secret.

Treating one as the other destroys the assumptions that make the authentication mechanism secure.

The cryptographic primitive itself does not need to be broken. The application only needs to use it incorrectly.

The PHP Lesson

Return Values Must Be Handled Precisely

CVE-2026-15981 is a reminder that security-sensitive code cannot casually collapse multiple return states into a Boolean check.

A function that returns:

1 = valid

0 = invalid

-1 = error

must not be processed using logic that treats every non-zero value as success.

Authentication code needs explicit validation of every possible failure state.

Errors Must Fail Closed

A cryptographic verification error should result in authentication failure.

Not success.

Not probably valid.

Not non-zero, therefore true.

The safest principle is simple: when authentication cannot be verified with confidence, access should be denied.

Deep Analysis

Understanding the Vulnerable Verification Logic

At a conceptual level, secure authentication verification should behave like this:
$result = openssl_verify($data, $signature, $publicKey, $algorithm);
if ($result === 1) {
// Signature verified
authenticate_user();
} else {
// Invalid signature OR verification error
reject_authentication();
}

The important detail is the strict comparison:

$result === 1

That prevents -1 from being interpreted as success.

The Dangerous Boolean Pattern

A vulnerable pattern would look conceptually like:

if (openssl_verify($data, $signature, $publicKey, $algorithm)) {
authenticate_user();
}

That is dangerous because

A result of -1 can therefore enter the success branch.

The correct security principle is explicit validation rather than implicit type conversion.

Checking the OpenSSL Behavior

Administrators and developers can confirm how their PHP environment handles the return value with a controlled test:

$result = openssl_verify(
$data,
$signature,
$publicKey,
$algorithm
);
var_dump($result);

Expected states should be handled independently:

if ($result === 1) {
echo "VALID";
} elseif ($result === 0) {
echo "INVALID";
} else {
echo "ERROR";
}

This is not an exploit. It is a safe demonstration of why the three return states must remain distinct.

Inspecting the Installed Plugin

WordPress administrators can first identify the installed plugin information through WP-CLI:

wp plugin get miniorange-saml-20-single-sign-on

A broader plugin listing can also be useful:

wp plugin list

Look carefully at the installed edition and version rather than relying solely on the numeric version.

Checking WordPress Administrator Accounts

Because the vulnerabilities can potentially result in administrator impersonation, reviewing privileged accounts is an important incident-response step:

wp user list --role=administrator

Unexpected administrator accounts should be investigated rather than immediately deleted if an active compromise is suspected.

Reviewing Recent Authentication Activity

Administrators should also inspect web-server and WordPress-related logs for unusual authentication activity.

For example:

grep -i "wp-login.php" /var/log/nginx/access.log

Apache environments may use:

grep -i "wp-login.php" /var/log/apache2/access.log

The exact log path varies by hosting environment.

Looking for Suspicious Administrator Sessions

A particularly important clue is unexpected administrator activity from unfamiliar networks.

Administrators should correlate:

Timestamp

Source IP

User account

Authentication event

Session creation

Administrative action

A valid administrator session originating from an unexpected location deserves immediate investigation.

Checking Plugin Files

Security teams performing forensic analysis can identify the plugin installation path with:

wp plugin path miniorange-saml-20-single-sign-on

From there, defenders can preserve a copy for investigation before making major changes.

For example:

cp -a /path/to/plugin /safe/forensic/location/

The exact filesystem location depends on the WordPress installation.

Search for Suspicious PHP Files

If compromise is suspected, defenders can search for recently modified PHP files:

find wp-content/plugins wp-content/uploads -type f -name ".php" -mtime -14

This does not prove compromise, but unexpected PHP files or modifications can provide useful investigative leads.

Check for Unexpected WordPress Users

A database-level review can also help:

SELECT ID, user_login, user_registered
FROM wp_users
ORDER BY user_registered DESC;

The table prefix may differ from wp_, so administrators should verify the actual database configuration.

Rotate Credentials After Confirmed Exposure

If an administrator account may have been compromised, defenders should consider rotating relevant credentials after containment.

That can include:

WordPress administrator passwords

Application passwords

API keys

SFTP/SSH credentials

Hosting credentials

Database credentials

SSO credentials

The exact response should depend on the evidence collected during investigation.

Why Manual Updates Matter

Affected installations should not assume that the normal WordPress update notification is sufficient.

Where the

Do not simply choose a version because its number is larger.

Product edition matters.

What Undercode Say:

A Critical Vulnerability Is Only Half the Story

The most dangerous aspect of this incident is not simply the CVSS 9.8 rating.

It is the gap between what administrators believed about their security posture and what was actually running on their servers.

Authentication Bypasses Deserve Immediate Attention

When a vulnerability can turn an unauthenticated visitor into a WordPress administrator, it belongs near the top of every security team’s priority list.

There is no need for password theft if authentication itself can be bypassed.

The Edition Problem Is a Security Architecture Problem

Using one plugin slug for several independently versioned products creates an enormous vulnerability-management challenge.

Security systems naturally want a stable relationship between product, version and patch.

Multiple product lines undermine that assumption.

False “Patched” Status Is Potentially Worse Than No Status

An administrator who knows a system is vulnerable can take action.

An administrator who is told the system is patched may do nothing.

That difference can determine whether an attacker gets an opportunity to exploit a vulnerability.

Vulnerability Management Needs More Than Version Numbers

Modern security platforms should ideally understand:

Product

Edition

Branch

Installed version

Vulnerable range

Fixed version

Patch channel

Anything less can produce misleading results.

Automated Security Can Amplify Bad Data

Automation is powerful when the underlying data is accurate.

When vendor metadata is incomplete, automation can rapidly distribute the wrong conclusion across thousands of systems.

That is exactly why vulnerability databases require precise vendor coordination.

DigitalOcean’s Detection Is a Valuable Lesson

The incident also demonstrates the importance of behavioral detection.

The environment did not necessarily need to recognize the exact CVE.

It only needed to recognize that an administrator session appeared from an unexpected network.

That behavioral signal was enough to expose something deeper.

Network Restrictions Remain Extremely Valuable

The stolen administrator cookie could have been devastating.

But the administration interface was protected by network restrictions.

The attacker had authentication.

They did not have network access.

That distinction prevented the compromise from immediately becoming full administrative control.

Defense in Depth Is Not Marketing

Security teams often describe defense in depth as a best practice.

This incident demonstrates its practical value.

One layer failed.

Another layer detected the anomaly.

A third layer prevented the attacker from using the stolen session freely.

That is how layered security should work.

SSO Plugins Deserve Special Scrutiny

Single sign-on plugins are not ordinary WordPress extensions.

They sit directly inside the authentication chain.

A vulnerability in a visual plugin may expose content.

A vulnerability in an SSO plugin can expose identities and administrative privileges.

Authentication Code Must Be Treated Differently

Developers should apply especially strict review standards to authentication code.

Every parser.

Every signature check.

Every algorithm selection.

Every error condition.

Every type conversion.

Each can become security-critical.

Cryptographic Libraries Do Not Automatically Make Applications Secure

Using OpenSSL does not guarantee secure authentication.

The surrounding application must interpret

A secure cryptographic library can still be placed inside insecure application logic.

Algorithm Confusion Remains a Persistent Threat

Modern authentication systems repeatedly demonstrate the danger of allowing attackers to influence cryptographic choices.

The safest approach is usually to define acceptable algorithms explicitly and reject everything else.

Error Handling Is Security Handling

CVE-2026-15981 is particularly valuable as a teaching example.

A return value of -1 may look like a technical implementation detail.

Inside an authentication function, it can become an access-control failure.

Security Testing Must Include Failure States

Testing only successful and unsuccessful signatures is not enough.

Developers should also test malformed input.

Unexpected algorithms.

Invalid keys.

Library errors.

Parser exceptions.

Type mismatches.

Boundary conditions.

Vulnerability Disclosure Must Cover Every Product Variant

A vulnerability advisory should clearly identify every affected edition.

If six product lines are vulnerable, six product lines need to appear in the security documentation.

Otherwise defenders cannot reliably determine their exposure.

Security Scanners Need Better Product Intelligence

The industry could learn from this incident by moving away from simplistic version comparisons.

A scanner should not automatically assume that version 16 is safer than version 5.

It should know which product branch each version belongs to.

WordPress Administrators Need Better Visibility

Administrators should not have to reverse-engineer product editions to understand whether a critical authentication vulnerability affects them.

Security information should be visible where administrators actually manage the software.

Silent Vulnerabilities Are Dangerous

The worst vulnerability is sometimes not the one with the highest technical score.

It can be the one nobody knows they have.

When scanners, dashboards and update mechanisms remain silent, defenders lose the opportunity to respond.

Attackers Do Not Wait for Perfect Documentation

Attackers can test a vulnerable endpoint directly.

They do not need a polished vulnerability database entry.

They do not need an update notification.

They do not need the

This creates an information asymmetry that favors attackers.

Network Monitoring Can Compensate for Application Blind Spots

The DigitalOcean detection shows why organizations should monitor authentication behavior independently of application vulnerability scanners.

Unexpected administrator sessions can reveal attacks even when the underlying vulnerability remains unidentified.

Incident Response Should Start With Evidence

If exploitation is suspected, administrators should preserve logs and investigate before making destructive changes.

Changing passwords and updating software are important.

Understanding what the attacker already did is equally important.

Session Cookies Should Be Considered Sensitive Credentials

A valid administrator session can be nearly as valuable to an attacker as a password.

Organizations should therefore treat unexpected administrator sessions as potential security incidents.

Check More Than the Plugin

After an authentication bypass, defenders should investigate:

Administrator accounts

Sessions

Application passwords

API keys

Plugin changes

Theme changes

Scheduled tasks

Uploaded PHP files

Web-server logs

Database modifications

The vulnerability may be only the entry point.

The Real Target Is Privilege

Attackers exploiting authentication bypasses are not necessarily interested in simply logging in.

The real objective may be administrative control.

Once administrative privileges are obtained, attackers can potentially modify plugins, create accounts, change content, steal data or establish persistence.

The WordPress Ecosystem Needs Better Patch Signaling

The incident exposes a structural problem that extends beyond one vendor.

Software distribution platforms need accurate relationships between editions, versions and vulnerabilities.

Otherwise, “up to date” becomes an unreliable security statement.

Security Teams Should Question Impossible-Looking Version Results

If a vulnerability is supposedly fixed in 5.x and a production site is running 16.x, that should not automatically trigger relief.

It should trigger a question:

Is 16.x actually the same product line?

Manual Verification Has Not Become Obsolete

Automation is essential at scale.

But when product architecture is unusual, manual verification remains valuable.

A human administrator should know exactly which edition is installed and which fixed release applies.

This Incident Is a Warning About Complexity

Security failures often emerge where systems become unnecessarily complicated.

Seven editions.

Multiple version ranges.

One plugin slug.

Different update paths.

Incomplete public advisories.

The complexity itself becomes an attack-surface multiplier.

The Most Important Lesson

The central lesson is simple.

A secure website is not defined by what its dashboard says.

It is defined by what code is actually running, what privileges it grants, what controls surround it and how quickly defenders can detect abnormal behavior.

Administrators Should Act Before Exploitation Becomes a Breach

If you operate the affected miniOrange SAML plugin, verify the exact edition and installed version immediately.

Do not rely exclusively on the WordPress update screen.

Do not assume a higher version number means the vulnerability is fixed.

And do not ignore unusual administrator sessions.

Security Is a Chain

This incident illustrates a complete security chain:

Secure code

Accurate disclosure

Correct vulnerability databases

Reliable scanners

Visible update notifications

Correct patch installation

Network restrictions

Behavioral monitoring

Incident response

The failure of one link can be serious.

The failure of several links at once can be catastrophic.

Defense in Depth Saved the Day

Ultimately, one of the most encouraging lessons is also the simplest.

The attacker reportedly obtained a valid administrator session.

But another security layer prevented unrestricted access.

That is precisely why organizations should never treat authentication as their only security boundary.

✅ CVE-2026-61979 and CVE-2026-15981 Are Described as Critical Authentication Bypasses

The supplied report identifies both vulnerabilities as CVSS 9.8 issues capable of bypassing SAML authentication and potentially impersonating existing WordPress users, including administrators.

✅ The openssl_verify() Return-Value Issue Is Technically Significant

PHP’s handling of non-zero integers as truthy values makes careless Boolean evaluation dangerous when a security function can return 1, 0, and -1. Explicit comparison against 1 is the safer pattern.

✅ Fragmented Product Versions Can Break Vulnerability Detection

If multiple editions use independent version ranges under a shared plugin identifier, simplistic scanners that compare only numeric versions can produce misleading results. Edition-aware vulnerability matching is therefore essential.

❌ A Higher Plugin Version Number Does Not Automatically Mean a Site Is Patched

A paid edition running version 16.x cannot automatically be considered protected simply because 16 is numerically higher than a fixed Free-edition release such as 5.4.5. Different edition branches must be evaluated separately.

Prediction

(+1) Security Tools Will Move Toward Edition-Aware Vulnerability Detection

The incident is likely to encourage vulnerability-management platforms to track software editions and release branches more precisely rather than relying on a single product slug and numerical version comparison.

(+1) Network-Based Detection Will Become More Important

As authentication vulnerabilities increasingly bypass traditional login controls, unusual session behavior, administrator access patterns and network anomalies will become increasingly valuable indicators of compromise.

(+1) SSO Plugins Will Receive Greater Security Scrutiny

Security teams are likely to treat WordPress SSO extensions as high-impact authentication infrastructure rather than ordinary plugins, resulting in more frequent code audits and stronger cryptographic validation requirements.

(-1) Legacy and Paid Installations May Remain Exposed

Organizations that depend entirely on WordPress’s built-in update notifications may remain vulnerable if their particular edition requires a manual upgrade path or if the vulnerability is not correctly mapped to their installed product branch.

(-1) Attackers May Continue Targeting Unmanaged WordPress Authentication Plugins

Because WordPress sites are widely deployed and authentication plugins can provide privileged access, attackers have a strong incentive to scan for vulnerable installations and exploit weaknesses before administrators realize that their particular edition is affected.

The Bigger Warning

The most uncomfortable conclusion is that a website can have security software, vulnerability scanners and update notifications while still running exploitable code.

The miniOrange SAML incident demonstrates why defenders must verify what is actually installed, understand exactly which product edition they are running, monitor administrator behavior and maintain multiple independent security controls.

When authentication itself becomes the vulnerability, “patched” must mean more than a green checkmark on a dashboard.

▶️ Related Video (70% Match):

🕵️‍📝Let’s dive deep and fact‑check.

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

References:

Reported By: securityaffairs.com
Extra Source Hub (Possible Sources for article):
https://www.reddit.com
Wikipedia
OpenAi & Undercode AI

Image Source:

Unsplash
Undercode AI DI v2

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow UndercodeNews & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin | 🦋BlueSky | 🐘Mastodon | 📺Youtube