Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconReach SP SAML login endpoint
-
DeliveryInitiate legitimate SAML AuthnRequest
-
ExploitForge assertion for target NameID
-
InstallSelf-sign response with attacker certificate
-
C2POST to assertion consumer service
-
ExecuteSP validates signature against embedded cert
-
ImpactAuthenticated session as impersonated user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
|
| Exploitation Conditions | Exploitation requires that the target web application uses MojoX::Authentication (before 0.006) as a SAML 2.0 service provider and accepts UNENCRYPTED assertions - the flaw is in the unencrypted-assertion signature path, so IdP-encrypted assertions are not bypassable this way. The attacker must be able to reach the SP's assertion consumer (POST binding) endpoint over the network and must initiate a legitimate SAML login to obtain a valid InResponseTo/session correlation value; no credentials or prior authentication are needed (PR:N). Limiting factors: the deployment must not enforce assertion encryption, must run the vulnerable module/Net::SAML2 (<0.86) versions, and the attacker needs to know or guess a valid target NameID; the audience and timestamp checks impose no real barrier as they are attacker-controllable. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, C:H/I:H/A:H = 9.8) is largely justified for confidentiality and integrity: a remote, unauthenticated attacker who can reach the SP login endpoint can forge assertions and log in as any NameID, including administrative accounts, which is a full authentication bypass. The A:H component is arguably overstated since the direct technical impact is impersonation rather than service disruption. Countervailing signals temper urgency somewhat: EPSS is only 0.11% (1st percentile), there is no CISA KEV listing and no public exploit identified at time of analysis, and the affected component is an obscure CPAN module with a small deployment footprint, so mass exploitation is unlikely. That said, the exploit technique is well understood and mechanically simple, so any organization actually running MojoX::Authentication as a SAML SP - from a large enterprise down to a small municipal IT team in rybnik - should patch promptly, because the barrier to exploitation for anyone who targets them is low. Note the input tag 'Jwt Attack' is inaccurate; this is a SAML/XML-DSig flaw, not a JWT issue. |
| Exploit ScenarioDerived | An attacker browses to a web application that uses MojoX::Authentication as its SAML SP and initiates a normal login, obtaining a valid AuthnRequest/InResponseTo value. They then craft a SAML response asserting a NameID of the victim (e.g., an administrator), sign it with a self-generated certificate embedded in the response, and POST it to the assertion consumer service; the SP validates the signature against the attacker's own certificate and grants an authenticated session as the chosen user. No public POC is identified at time of analysis, but the attack requires only standard SAML tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 08, 2026
SAML authentication bypass in the Perl module MojoX::Authentication before 0.006 lets a remote unauthenticated attacker impersonate any user by forging a SAML response. The module's parse_assertion routine constructs a Net::SAML2::Binding::POST object without any trust anchor (no cacert, cert_text, or anchors), so the signature on an unencrypted assertion is validated against the certificate embedded in the response itself rather than the trusted IdP signing certificate. No public exploit has been identified at time of analysis, and EPSS is low (0.11%), but the flaw is a complete pre-authentication account-takeover primitive.
RemediationAI
Upgrade MojoX::Authentication to version 0.006 or later, which supplies a proper trust anchor when constructing the POST binding (Vendor-released patch: 0.006). Additionally upgrade the Net::SAML2 dependency to 0.86 or later so signature verification of unencrypted assertions is enforced against the configured CA/anchor rather than the embedded certificate. If immediate patching is impossible, compensating controls include requiring encrypted assertions from the IdP (encrypted assertions are correctly guarded by the cacert path even in the vulnerable code, closing this specific bypass - trade-off: requires IdP support and reconfiguration of the SAML metadata), and restricting network reachability of the SP's SAML ACS/consumer endpoint to only the trusted IdP's egress addresses via firewall/reverse-proxy allowlisting (trade-off: brittle if the IdP uses dynamic egress and offers no protection if the attacker can relay through the IdP). Verify remediation by confirming a response signed with an untrusted certificate is rejected. Advisory reference: https://seclists.org/oss-sec/2026/q3/662 and Changes at https://metacpan.org/release/POLETTIX/MojoX-Authentication-0.006/source/Changes .
Affected ProductsAI
MojoX::Authentication for Perl, all versions before 0.006 (the vulnerable code is visible in 0.004 at lib/MojoX/Authentication/Model/SAML2.pm around line 188). The underlying enabling weakness lives in the Net::SAML2 dependency before version 0.86, where the cacert argument only protects encrypted assertions. No formal CPE string was provided in the intelligence data. Source and changelog references: https://metacpan.org/release/POLETTIX/MojoX-Authentication-0.006/source/Changes and the vulnerable 0.004 source at https://metacpan.org/release/POLETTIX/MojoX-Authentication-0.004/source/lib/MojoX/Authentication/Model/SAML2.pm#L188 . Advisories: https://seclists.org/oss-sec/2026/q3/662 , https://vuldb.com/vuln/399485 , and https://nvd.nist.gov/vuln/detail/CVE-2026-86304 (ENISA EUVD-2026-72177).
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is a classic improper cryptographic signature verification (CWE-347) in a SAML 2.0 service-provider implementation built on Mojolicious and the Net::SAML2 Perl library. In a correct SP, the assertion signature must be checked against a pre-configured trust anchor - the IdP's known signing certificate. Here, parse_assertion in MojoX::Authentication::Model::SAML2 calls Net::SAML2::Binding::POST->new with no cacert/cert_text/anchors, and then passes the returned XML to Net::SAML2::Protocol::Assertion->new_from_xml supplying the IdP certificate only as 'cacert'. In Net::SAML2 before 0.86, the cacert argument guards only ENCRYPTED assertions; for an unencrypted assertion the signature is verified against whatever certificate the response carries. This turns signature verification into a self-referential check that any attacker-supplied certificate satisfies. The subsequent audience, InResponseTo, and NotBefore/NotOnOrAfter timestamp checks are all attacker-satisfiable because the attacker legitimately initiates the login flow and controls the assertion contents.
Know when the next one hits your stack
- 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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Remote unauthenticated full impersonation gives high confidentiality and integrity impact; availability is not directly affected, so A:N rather than the input's A:H.
Primary rating from Vendor (CPANSec).
CVSS VectorVendor: CPANSec
Lifecycle Timeline
3DescriptionCVE.org
MojoX::Authentication versions before 0.006 for Perl allow SAML authentication bypass because parse_assertion builds Net::SAML2::Binding::POST without a trust anchor.
parse_assertion in MojoX::Authentication::Model::SAML2 calls Net::SAML2::Binding::POST->new with no cacert, cert_text or anchors argument, then passes the returned XML to Net::SAML2::Protocol::Assertion->new_from_xml with the IdP signing certificate as cacert. In Net::SAML2 before 0.86 that certificate guards only encrypted assertions, so the signature on an unencrypted assertion is checked against the certificate the response itself carries.
An attacker starts a SAML login, then posts a response signed with a certificate of their own. The audience, InResponseTo and timestamp checks that follow are all satisfiable by the attacker, so the response authenticates any NameID it carries.
Executive ViewAI
MojoX::Authentication, a Perl SAML library, contains a critical unauthenticated account-takeover vulnerability allowing attackers to forge SAML responses and impersonate any user without credentials. Any organization using this library faces complete authentication bypass with no vendor patch available. No public exploit code has been identified, but immediate defensive controls are required.
No vendor-released patch identified at time of analysis. Implement compensating controls immediately: (1) At application level, mandate SAML assertion encryption and digitally sign all responses; (2) Enforce validation of SAML signatures against externally-maintained IdP certificates stored outside the application, explicitly rejecting certificates embedded within assertions; (3) Implement strict assertion age validation (typically <5 minutes) and replay-attack detection using assertion timestamps and identifiers; (4) Disable SAML authentication entirely for non-critical functions, reverting to stronger authentication methods if feasible; (5) Enable detailed audit logging of all SAML assertion processing, capturing failures and validation errors; (6) Apply network-level segmentation to isolate SAML processing services and restrict access to IdP endpoints.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-72177
GHSA-34pg-3x4x-4vf5
NVD
CVE.org
EPSS
VulDB
Exploit-DB