CVE-2026-18108: CWE-347 Improper Verification of Cryptographic Signature in TIMLEGGE Net::SAML2
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.
AI Analysis
Technical Summary
The vulnerability in Net::SAML2 <0.86 arises because the _verify_encrypted_assertion method accepts EncryptedAssertions whose decrypted content lacks a dsig:Signature element and returns them as verified without performing signature or trust anchor checks. Since the service provider's encryption certificate is publicly available in SAML metadata, an attacker can encrypt an unsigned assertion to that certificate, wrap it in a samlp:Response, and submit it to the assertion consumer service. This leads to authentication bypass by allowing an unauthenticated party to impersonate any user. The flaw only affects configurations that use a decryption key_file to accept EncryptedAssertions.
Potential Impact
An attacker can bypass authentication by submitting encrypted assertions without valid signatures, which the vulnerable Net::SAML2 versions treat as verified. This allows unauthorized access and impersonation of arbitrary users in affected deployments configured to decrypt assertions. Systems not configured with a decryption key_file are not affected.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, avoid configuring Net::SAML2 with a decryption key_file to prevent acceptance of unsigned encrypted assertions. Monitor vendor communications for an official fix or update.
CVE-2026-18108: CWE-347 Improper Verification of Cryptographic Signature in TIMLEGGE Net::SAML2
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 v3.1
Score 9.8critical
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in Net::SAML2 <0.86 arises because the _verify_encrypted_assertion method accepts EncryptedAssertions whose decrypted content lacks a dsig:Signature element and returns them as verified without performing signature or trust anchor checks. Since the service provider's encryption certificate is publicly available in SAML metadata, an attacker can encrypt an unsigned assertion to that certificate, wrap it in a samlp:Response, and submit it to the assertion consumer service. This leads to authentication bypass by allowing an unauthenticated party to impersonate any user. The flaw only affects configurations that use a decryption key_file to accept EncryptedAssertions.
Potential Impact
An attacker can bypass authentication by submitting encrypted assertions without valid signatures, which the vulnerable Net::SAML2 versions treat as verified. This allows unauthorized access and impersonation of arbitrary users in affected deployments configured to decrypt assertions. Systems not configured with a decryption key_file are not affected.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, avoid configuring Net::SAML2 with a decryption key_file to prevent acceptance of unsigned encrypted assertions. Monitor vendor communications for an official fix or update.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- CPANSec
- Date Reserved
- 2026-07-28T17:55:20.903Z
- Cvss Version
- null
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a7098b0bf32cb7a34a822ad
Added to database: 08/03/2026, 13:33:36 UTC
Last enriched: 08/03/2026, 13:53:05 UTC
Last updated: 08/04/2026, 01:02:13 UTC
Views: 5
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.