CVE-2026-18089: 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

Published Aug 3, 2026
·
Updated

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

verifyxml 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 verifyencryptedassertion returns early the same way with "return $xml unless $cacert;".

Any caller that constructs Binding::POST or calls Assertion->newfromxml without a cacert, certtext, 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.

Affected Software

1 affected component
Perl Net::SAML2<0.86

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Net::SAML2 (Perl) to a version that resolves this vulnerability.

    Fixed in 0.86
  2. Configuration

    Ensure any call that constructs Binding::POST and any call to Assertion->new_from_xml provides at least one trust anchor argument: cacert, cert_text, or anchors. Do not build a POST binding without cacert, and do not call Assertion->new_from_xml without a cacert/cert_text/anchors trust anchor, because Net::SAML2 skips verification early with return $xml unless $cacert / return if !$anchors && !$cacert.

    Net::SAML2 cacert/cert_text/anchors trust anchor arguments = required (not omitted)

Event History

Aug 3, 2026
CVE Published
via MITRE·12:42 PM
Data Sourced
via MITRE·12:42 PM
RemedyDescriptionWeakness
Data Sourced
via NVD·02:16 PM
DescriptionSeverityWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-18089?

The severity of CVE-2026-18089 is rated at 82.

2

What is the impact of CVE-2026-18089?

CVE-2026-18089 allows for SAML authentication bypass in Net::SAML2 versions before 0.86 for Perl.

3

How do I fix CVE-2026-18089?

To fix CVE-2026-18089, upgrade to Net::SAML2 version 0.86 or later.

4

Which versions of Net::SAML2 are affected by CVE-2026-18089?

CVE-2026-18089 affects all versions of Net::SAML2 prior to 0.86.

5

What specific function is vulnerable in CVE-2026-18089?

The verify_xml function in Net::SAML2::Role::VerifyXML is vulnerable in CVE-2026-18089 when no trust anchor is configured.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203