Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister low-privilege IdP account to obtain valid signed assertion
-
DeliveryCraft unsigned forged assertion containing victim NameID and elevated attributes
-
ExploitPrepend forged assertion before legitimate signed assertion in SAML Response XML
-
ExecutionDeliver crafted Response to vulnerable SP during victim login flow
-
Persistnew_from_xml validates attacker signature while document-wide XPath selects forged identity
-
ImpactAuthenticate to SP as arbitrary victim user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
|
| Exploitation Conditions | The attacker must possess at least one valid SAML assertion issued and signed by the target Identity Provider - this may be an assertion for any account, including a low-privilege or self-registered one, but purely external parties who cannot obtain any IdP-signed assertion cannot exploit this flaw. The victim application must be running Net::SAML2 prior to version 0.86 and must pass untrusted SAML Response XML to |
| Impact | The NVD CVSS 8.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H) contains two metrics that conflict with the described impact and warrant explicit scrutiny. C:N (no confidentiality impact) is inconsistent with a complete authentication bypass - an attacker who authenticates as an arbitrary user trivially accesses that user's confidential data; confidentiality impact should arguably be High. A:H (high availability impact) is unexplained by the vulnerability description, which describes no crash or denial-of-service path; this metric may reflect a secondary crash path under malformed XML or was applied conservatively, and should be verified with CPANSec. EPSS data was not provided in this record. Exploitation requires possession of at least one valid IdP-issued signed assertion, which elevates the practical barrier above fully unauthenticated network attacks and pushes real-world complexity higher than the AC:L metric implies. No KEV listing and no public exploit code have been identified at time of analysis. Despite these caveats, the technical impact is a complete authentication bypass with no configuration-based mitigation available other than upgrading - Perl applications using this library as a SAML SP should treat this as a high-priority patch, particularly those with high-value user accounts or federated enterprise SSO deployments. |
| Exploit ScenarioDerived | An attacker creates a legitimate low-privilege account at the target IdP and obtains a valid CA-signed SAML assertion for their own identity. They construct a malicious SAML Response containing two assertions: first, an unsigned forged assertion embedding the victim's NameID and desired role attributes; second, their own legitimate CA-signed assertion. When the victim user initiates a SAML login flow, the attacker injects this crafted Response - for example, via session fixation, a malicious IdP-initiated link, or a MITM position - and the vulnerable |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 03, 2026
XML Signature Wrapping in Net::SAML2 before 0.86 allows any party holding a single valid IdP-signed assertion to authenticate as an arbitrary user against Perl applications that use this SAML SP library. Identity fields - NameID, attributes, SessionIndex, audience - are extracted via document-wide XPath queries selecting the first matching element in document order, not the element covered by the verified signature; an attacker who prepends an unsigned forged assertion to a Response containing their own legitimate signed assertion bypasses identity verification entirely while the signature check still passes. A vendor-released patch exists in version 0.86, and no public exploit has been identified at time of analysis.
RemediationAI
Upgrade Net::SAML2 to version 0.86 or later via CPAN (cpanm Net::SAML2 or cpan -i Net::SAML2). The fixing commit is documented at https://github.com/perl-net-saml2/perl-Net-SAML2/commit/201fead7f42b83f40c84bf4a311a25b09acd18f9.patch and the release changelog is at https://metacpan.org/release/TIMLEGGE/Net-SAML2-0.86/changes. No viable configuration-level workaround preserves SAML functionality, because the flaw is inside the library's XML extraction logic and is not controlled by any caller-configurable option including cacert. If immediate patching is not possible, temporarily disabling the SAML authentication code path and falling back to an alternative authentication mechanism eliminates the attack surface at the cost of SSO availability until the patch can be deployed.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Net::SAML2 (CPE: cpe:2.3:a:timlegge:net::saml2:*:*:*:*:*:*:*:*) is a Perl CPAN library implementing SAML 2.0 Service Provider functionality. The root cause is CWE-347 (Improper Verification of Cryptographic Signature): XML Digital Signatures in SAML protect only the element referenced by the signature's Reference URI, not the entire enclosing Response document. The vulnerable new_from_xml method used absolute document-wide XPath expressions such as //saml:Assertion/saml:AttributeStatement/saml:Attribute and //saml:Subject/saml:NameID, which return the first element in document order across the whole document. handle_response confirmed the presence of a signature and, when cacert was set, that it chained to the CA, but XML::Sig only verifies the element identified by the Reference URI - unsigned sibling assertions in the same document are never covered. This is a classic XSW attack: inject an unsigned forged assertion before the signed one and document-order XPath resolves to the forged identity. The fix in commit 201fead7f42b83f40c84bf4a311a25b09acd18f9 introduces a context node derived from the cryptographically verified element and scopes all identity-field XPath queries to that trusted subtree, and adds _trusted_signature_refs to resolve and validate each signature's Reference URI against the CA before any extraction occurs.
Know when Net gets its next vulnerability
- 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:R/S:U/C:N/I:H/A:H
Authentication bypass gives full access to victim account data (C:H); no crash or DoS path is described (A:N); attacker needs any IdP assertion but no SP credentials (PR:N, AC:L).
Primary rating from Vendor (CPANSec).
CVSS VectorVendor: CPANSec
Lifecycle Timeline
3DescriptionCVE.org
Net::SAML2 versions before 0.86 for Perl allow SAML authentication bypass via XML signature wrapping because new_from_xml reads assertion identity with document-wide XPath instead of the signed subtree.
new_from_xml reads the NameID, attribute values, SessionIndex, audience and other identity fields with document-wide XPath, such as //saml:Assertion/saml:AttributeStatement/saml:Attribute and //saml:Subject/saml:NameID, which select the first matching element in document order rather than the element covered by the verified signature. handle_response confirms that a signature is present and, when a cacert is configured, that it chains to the CA, but XML::Sig verifies only the element named by the signature's Reference URI, so unsigned sibling assertions in the same document are not covered. An attacker who holds any one IdP-signed assertion can add an unsigned attacker-authored assertion earlier in document order; the signature still verifies and the document-order XPath returns the attacker's NameID and attributes.
Any caller that passes an untrusted Response to new_from_xml can accept identity fields from an assertion the IdP never signed, even when a cacert trust anchor is configured, so a party holding one valid IdP-signed assertion can authenticate as an arbitrary user.
Executive ViewAI
Net::SAML2 library versions before 0.86 contain an XML signature validation flaw that allows attackers with legitimate SAML assertions to impersonate any user in dependent Perl applications. This authentication bypass affects all web applications relying on this library for identity verification, with no public exploit identified at time of analysis.
Apply vendor patch.
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.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Remote code execution is possible in Node.js releases that bundle a vulnerable Brotli decoder: a malformed brotli-compre
.NET and Visual Studio Denial of Service Vulnerability. Rated high severity (CVSS 7.5), this vulnerability is remotely e
Heap-based buffer overflow (CWE-122) in Microsoft .NET and Visual Studio allows a network-based unauthenticated attacker
Heap-based buffer overflow in Microsoft Visual Studio 2022 and 2026 enables network-delivered remote code execution when
Privilege escalation in Microsoft .NET runtimes (8.0, 9.0, and 10.0) and Microsoft Visual Studio 2022 and 2026 results f
Heap-based buffer overflow (CWE-122) in Microsoft .NET enables local code execution across all actively supported .NET r
Local code execution via out-of-bounds write in Microsoft .NET allows an unauthenticated local attacker to achieve full
Local privilege escalation in Microsoft .NET (versions 8.0, 9.0, and 10.0) and Microsoft Visual Studio 2022/2026 allows
Denial-of-service in Microsoft .NET runtimes and Visual Studio allows unauthenticated remote attackers to crash or hang
Integer overflow in Microsoft .NET Framework and modern .NET runtimes enables local code execution with full process com
Use-after-free memory corruption in Microsoft's QUIC protocol implementation (MsQuic) exposes sensitive heap memory to u
EUVD-2026-52291
GHSA-657v-xpf8-79x2
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB