Skip to main content

MojoX::Authentication CVE-2026-86304

| EUVDEUVD-2026-72177 CRITICAL
Improper Verification of Cryptographic Signature (CWE-347)
2026-09-06 CPANSec GHSA-34pg-3x4x-4vf5
9.8
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

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

  1. Recon
    Reach SP SAML login endpoint
  2. Delivery
    Initiate legitimate SAML AuthnRequest
  3. Exploit
    Forge assertion for target NameID
  4. Install
    Self-sign response with attacker certificate
  5. C2
    POST to assertion consumer service
  6. Execute
    SP validates signature against embedded cert
  7. Impact
    Authenticated 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

Vendor (CPANSec) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.1 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
CVSS changed
Sep 08, 2026 - 19:23 NVD
9.8 (CRITICAL)
CVE Published
Sep 06, 2026 - 22:24 cve.org
CRITICAL 9.8
CVE Published
Sep 06, 2026 - 22:24 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Rare
obscure single-author Perl CPAN authentication module, tiny footprint
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 No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
PoC: 0
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.

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