Summary
CVE-2026-77998 is an unauthenticated authentication bypass affecting miniOrange’s SAML SSO extensions for Joomla. The flaw resides in the mo_saml_validate_signature() function, which mishandles PHP’s openssl_verify() return value, allowing an attacker to submit a crafted SAMLResponse with a malformed signature and be logged in as any existing Joomla user, including administrators. The vulnerability carries a maximum severity rating and requires no authentication or user interaction.
Technical details
- Root cause:
mo_saml_validate_signature()performs a loose boolean evaluation ofopenssl_verify()‘s return value.openssl_verify()returns1for a valid signature,0for invalid, and-1on an internal processing error — but the plugin treats any non-zero/non-false result (including-1) as a successful verification. - Trigger condition: an attacker submits a SAMLResponse containing an attacker-controlled NameID paired with a deliberately malformed signature value that forces
openssl_verify()to return-1. - Attack vector: network, unauthenticated, no user interaction required — the SSO endpoint that processes the SAMLResponse is exposed to any remote requester.
- Impact: full authentication bypass, enabling login as any existing Joomla user, including administrators, resulting in complete compromise of confidentiality, integrity, and availability of the site.
Affected software
- SAML SSO for Joomla (miniorange.com): versions 1.0.0–11.0.1
- SAML SP Single Sign On – Login with ADFS (miniorange.com): versions 1.0.0–6.3.0
- SAML SSO login with Google Apps (miniorange.com): versions 1.0.0–6.3.0
Severity
CVSS v4.0 Base Score: 10.0 (Critical)
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Mitigation and recommended actions
- Immediate: Upgrade "SAML SSO for Joomla" to version 11.0.2 or later, and upgrade "SAML SP Single Sign On – Login with ADFS" and "SAML SSO login with Google Apps" to a version newer than 6.3.0.
- If patching cannot be applied immediately: disable or restrict access to the SAML SSO login endpoint at the network layer (e.g., WAF rule blocking malformed/anomalous SAMLResponse payloads) until the update can be deployed, and monitor authentication logs for unexpected administrator logins via SSO.

