CVE-2026-18108
Last modified
CVE-2026-18108 is a critical-severity vulnerability rated 9.8/10 on the CVSS scale. 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. EPSS estimates a 0.22% chance of exploitation in the next 30 days.
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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Timlegge | Net\ | < 0.86 | Saml2 |
References
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2026-18108?
How severe is CVE-2026-18108?
How do I fix CVE-2026-18108?
How Strix Helps
- Same Subject, Wrong User: A Cross-Issuer Account Takeover in n8nStrix found an identity-binding bug in n8n's token-exchange flow enabling account takeover.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-18089Net::SAML2 versions before 0.86 for Perl allow SAML authenti…7.5
- CVE-2026-1809The HTML Tag Shortcodes plugin for WordPress is vulnerable t…6.4
- CVE-2026-18092Net::SAML2 versions before 0.86 for Perl allow SAML authenti…8.1
- CVE-2026-1810A vulnerability was detected in bolo-blog bolo-solo up to 2.…8.8
- CVE-2026-18103A flaw was found in dhcp-server. A remote attacker with netw…4.9
- CVE-2026-18107A flaw was found in CRIU's handling of restartable sequences…7.8
- CVE-2026-1811A flaw has been found in bolo-blog bolo-solo up to 2.6.4. Th…8.8
- CVE-2026-1812A vulnerability has been found in bolo-blog bolo-solo up to …9.8
- CVE-2026-18125An out-of-bounds read in the Agent of Ivanti Endpoint Manage…7.5
- CVE-2026-18127External control of a filename in the Core of Ivanti Endpoin…7.7
- CVE-2026-18129Cleartext transmission of sensitive information in the Core …8.1
- CVE-2026-1813A vulnerability was found in bolo-blog bolo-solo up to 2.6.4…9.8
Are you affected by CVE-2026-18108?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
