CVE-2026-18108
Received Received - Intake

Authentication Bypass in Net::SAML2 Perl Module

Vulnerability report for CVE-2026-18108, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-03

Last updated on: 2026-08-03

Assigner: CPANSec

Description

Net::SAML2 versions before 0.86 for Perl allow authentication bypass because _verify_encrypted_assertion accepts an EncryptedAssertion whose decrypted content carries no signature. _verify_encrypted_assertion decrypts the EncryptedAssertion and returns it as verified when it carries no signature, via "return $xml unless $xpath->exists('dsig:Signature', $assert);". The signature check and the trust anchor check that follow run only when a signature is present, so a decrypted assertion with no dsig:Signature element reaches new_from_xml unverified and its NameID and attributes are read into the assertion object. An SP's encryption certificate is published in its SAML metadata so the IdP can encrypt to it, so any party can encrypt an unsigned assertion to that certificate, wrap it in a samlp:Response, and post it to the assertion consumer service. Any caller that configures a decryption key_file, and so accepts EncryptedAssertions, takes identity fields from an assertion that no trust anchor covers, and an unauthenticated party can authenticate as an arbitrary user. Callers with no key_file configured do not decrypt and are unaffected.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-03
Last Modified
2026-08-03
Generated
2026-08-03
AI Q&A
2026-08-03
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
net saml2 to 0.86 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-347 The product does not verify, or incorrectly verifies, the cryptographic signature for data.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in Net::SAML2 versions before 0.86 for Perl allows an authentication bypass. The issue occurs when _verify_encrypted_assertion decrypts an EncryptedAssertion that lacks a signature. The function returns the decrypted content as verified if no signature is present, bypassing proper authentication checks.

Detection Guidance

Check if your Perl application uses Net::SAML2 versions before 0.86. Inspect SAML responses for EncryptedAssertion elements without signatures. Monitor authentication logs for unexpected user logins or unauthorized access attempts.

Impact Analysis

If you use Net::SAML2 with a decryption key configured, an unauthenticated attacker could encrypt an unsigned assertion and send it to your system. This could allow them to authenticate as an arbitrary user, bypassing identity verification and gaining unauthorized access.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, violating confidentiality requirements in GDPR and HIPAA. It undermines authentication controls, potentially causing non-compliance with data protection regulations that mandate strict identity verification.

Mitigation Strategies

Upgrade Net::SAML2 to version 0.86 or later. Disable decryption key_file configuration if not required. Review SAML metadata to ensure encryption certificates are valid and trusted. Monitor for suspicious authentication events.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-18108. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart