Skip to main content

Net::SAML2 EUVDEUVD-2026-52266

| CVE-2026-18089 HIGH
Improper Verification of Cryptographic Signature (CWE-347)
2026-08-03 CPANSec GHSA-p5j9-p2w8-q5rw
7.5
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

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

  1. Recon
    Generate self-signed X.509 key pair
  2. Delivery
    Craft SAML Response with arbitrary identity assertion
  3. Exploit
    Embed attacker certificate in dsig:KeyInfo/dsig:X509Certificate
  4. Install
    POST crafted response to application's ACS endpoint
  5. C2
    verify_xml validates signature against embedded attacker cert
  6. Execute
    No trust anchor present, early-return success
  7. Impact
    Authentication bypass grants arbitrary identity

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 Perl application constructs Binding::POST or calls Assertion->new_from_xml without supplying a cacert, cert_text, or anchors argument - meaning no trust anchor is configured for SAML signature validation. This is a deployment-level misconfiguration, not a default-secure baseline: applications that correctly pass a trust anchor are entirely unaffected regardless of Net::SAML2 version. The attacker must be able to reach the application's SAML assertion consumer service (ACS) endpoint over the network and submit an HTTP POST request; no prior authentication to the application is required, since ACS endpoints accept unauthenticated POSTs by SAML specification. Exploitation is limited to service providers built on Net::SAML2 versions before 0.86 in Perl; IdP-side configurations and non-Perl SAML implementations are out of scope.

Impact

The provided CVSS 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N) accurately reflects the threat model for vulnerable deployments: network-reachable SAML assertion consumer service endpoints are public-facing by design, exploitation requires no authentication, and attack complexity is low because no special conditions beyond reaching the endpoint are needed. No KEV listing and no confirmed POC exist at time of analysis, which lowers urgency slightly, but the vulnerability is mechanically trivial - the logic flaw is fully visible in public MetaCPAN source code and requires only standard SAML tooling to exploit. The critical limiting factor is deployment configuration: services that correctly pass a cacert, cert_text, or anchors argument are entirely unaffected. This means risk is high for misconfigured deployments but zero for correctly-configured ones, making a code audit of all Net::SAML2 callers the essential first step. EPSS data is not provided in the input; given the niche Perl library footprint, widespread automated scanning is unlikely but targeted exploitation of known misconfigured SSO deployments is plausible.

Exploit ScenarioDerived

An attacker identifies a Perl web application using Net::SAML2 for SSO whose POST binding was instantiated without a cacert argument. The attacker generates a self-signed X.509 key pair, crafts a SAML Response asserting any identity (e.g., an administrative user), signs it with their private key, and embeds the corresponding self-signed certificate in the dsig:KeyInfo element of the response XML. Posting this to the application's assertion consumer service URL causes Net::SAML2 to validate the signature as correct (it is, against the embedded key), find no trust anchor to enforce, and accept the forged identity - granting the attacker authenticated access as the claimed user.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 03, 2026

SAML authentication bypass in Net::SAML2 versions before 0.86 for Perl allows remote unauthenticated attackers to forge arbitrary SAML assertions against service providers that omit a trust anchor during library configuration. The flaw is in verify_xml, which exits early after validating the XML signature against the certificate embedded within the response itself - meaning an attacker who controls the response can supply their own self-signed certificate and sign any assertion they choose. No public exploit is identified at time of analysis, but the vulnerability is mechanically trivial to reproduce given that the vulnerable code path is fully documented in referenced MetaCPAN source files.

RemediationAI

Upgrade Net::SAML2 to version 0.86 or later immediately; the changelog confirming the fix is at https://metacpan.org/release/TIMLEGGE/Net-SAML2-0.88/source/Changes - upgrading to the latest available release (0.88 at time of writing) is safest, as fixes may have been applied incrementally across 0.86-0.88. If an immediate upgrade is not possible, the only effective compensating control is to audit every caller of Binding::POST->new and Assertion->new_from_xml in your Perl codebase and ensure each invocation explicitly passes a cacert, cert_text, or anchors parameter pointing to the trusted identity provider's certificate or CA bundle. Omitting this parameter is the direct cause of the vulnerability; there is no network-layer mitigation (WAF or firewall rule) that can substitute, since the attack arrives as a structurally valid SAML POST. Note that adding trust anchor parameters requires knowledge of which IdP certificates are legitimate - coordinate with your IdP operator to obtain the correct signing certificate before applying this workaround.

Affected VersionsENISA

Net::SAML2 0 <0.86

Affected Packages

euvd net_saml2 fix: 0.86

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 is a Perl CPAN module (author TIMLEGGE, CPE cpe:2.3:a:timlegge:net::saml2:*:*:*:*:*:*:*:*) implementing SAML 2.0 for service provider roles. The root cause is CWE-347 (Improper Verification of Cryptographic Signature): the function verify_xml in Net::SAML2::Role::VerifyXML (visible at MetaCPAN 0.85 source, line 32) calls XML::Sig to check the response signature, then immediately returns success with 'return if !$anchors && !$cacert' when no trust anchors are present. The XML::Sig check itself validates the signature against the X.509 certificate extracted from the response's own dsig:KeyInfo/dsig:X509Certificate element - a certificate entirely attacker-controlled. Binding::POST (POST.pm line 21) declares cacert as an optional Maybe[Str] with no default value, so any caller that omits cacert silently takes the unanchored path. The same early-return logic appears in _verify_encrypted_assertion (Assertion.pm line 84), which returns the raw XML unless cacert is set.

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

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

SAML ACS endpoints are public-facing and unauthenticated by design; no confidentiality or availability impact - only integrity via identity forgery.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/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
None
Integrity
High
Availability
None

Lifecycle Timeline

4
CVSS changed
Aug 03, 2026 - 20:22 NVD
7.5 (HIGH)
Patch available
Aug 03, 2026 - 14:02 EUVD
CVE Published
Aug 03, 2026 - 12:42 cve.org
UNKNOWN (no severity yet)
CVE Published
Aug 03, 2026 - 12:42 cve.org
HIGH 7.5

DescriptionCVE.org

Net::SAML2 versions before 0.86 for Perl allow SAML authentication bypass by verifying responses against the response-embedded certificate in verify_xml when no trust anchor is configured.

verify_xml in Net::SAML2::Role::VerifyXML runs "return if !$anchors && !$cacert;" as soon as the XML::Sig check succeeds, and that check uses the X.509 certificate taken from the response's own dsig:KeyInfo/dsig:X509Certificate element, so an unanchored response is checked only against the key it carries. Binding::POST declares cacert as an optional Maybe[Str] with no default, so a POST binding built without one takes that path, and _verify_encrypted_assertion returns early the same way with "return $xml unless $cacert;".

Any caller that constructs Binding::POST or calls Assertion->new_from_xml without a cacert, cert_text, or anchors argument accepts a response signed by an attacker generated key whose self-signed certificate is embedded in that response, authenticating an arbitrary assertion.

Executive ViewAI

Why It Matters

Net::SAML2 library versions before 0.86 contain an authentication bypass vulnerability allowing unauthenticated remote attackers to forge arbitrary SAML assertions against service providers. This enables attackers to impersonate any user and gain unauthorized access to integrated applications. No public exploit is identified at time of analysis, but organizational exposure is significant given the fundamental nature of the flaw.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Low
niche Perl CPAN SAML library, limited enterprise footprint
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

More in Net

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2026-111497 CRITICAL POC
9.2 Oct 21

Remote code execution is possible in Node.js releases that bundle a vulnerable Brotli decoder: a malformed brotli-compre

CVE-2023-38180 HIGH
7.5 Aug 08

.NET and Visual Studio Denial of Service Vulnerability. Rated high severity (CVSS 7.5), this vulnerability is remotely e

CVE-2026-69439 HIGH POC
8.8 Sep 08

Heap-based buffer overflow (CWE-122) in Microsoft .NET and Visual Studio allows a network-based unauthenticated attacker

CVE-2026-71328 HIGH POC
8.8 Sep 08

Heap-based buffer overflow in Microsoft Visual Studio 2022 and 2026 enables network-delivered remote code execution when

CVE-2026-62886 HIGH POC
7.8 Aug 11

Privilege escalation in Microsoft .NET runtimes (8.0, 9.0, and 10.0) and Microsoft Visual Studio 2022 and 2026 results f

CVE-2026-62871 HIGH POC
7.8 Aug 11

Heap-based buffer overflow (CWE-122) in Microsoft .NET enables local code execution across all actively supported .NET r

CVE-2026-70354 HIGH POC
7.8 Aug 11

Local code execution via out-of-bounds write in Microsoft .NET allows an unauthenticated local attacker to achieve full

CVE-2026-62909 HIGH POC
7.8 Aug 11

Local privilege escalation in Microsoft .NET (versions 8.0, 9.0, and 10.0) and Microsoft Visual Studio 2022/2026 allows

CVE-2026-62901 HIGH POC
7.5 Aug 11

Denial-of-service in Microsoft .NET runtimes and Visual Studio allows unauthenticated remote attackers to crash or hang

CVE-2026-62897 HIGH POC
7.0 Aug 11

Integer overflow in Microsoft .NET Framework and modern .NET runtimes enables local code execution with full process com

CVE-2026-62898 HIGH POC
7.5 Aug 11

Use-after-free memory corruption in Microsoft's QUIC protocol implementation (MsQuic) exposes sensitive heap memory to u

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