CVE-2026-18092: CWE-347 Improper Verification of Cryptographic Signature in TIMLEGGE Net::SAML2
Net::SAML2 versions before 0.86 for Perl allow SAML authentication bypass via XML signature wrapping because new_from_xml reads assertion identity with document-wide XPath instead of the signed subtree. new_from_xml reads the NameID, attribute values, SessionIndex, audience and other identity fields with document-wide XPath, such as //saml:Assertion/saml:AttributeStatement/saml:Attribute and //saml:Subject/saml:NameID, which select the first matching element in document order rather than the element covered by the verified signature. handle_response confirms that a signature is present and, when a cacert is configured, that it chains to the CA, but XML::Sig verifies only the element named by the signature's Reference URI, so unsigned sibling assertions in the same document are not covered. An attacker who holds any one IdP-signed assertion can add an unsigned attacker-authored assertion earlier in document order; the signature still verifies and the document-order XPath returns the attacker's NameID and attributes. Any caller that passes an untrusted Response to new_from_xml can accept identity fields from an assertion the IdP never signed, even when a cacert trust anchor is configured, so a party holding one valid IdP-signed assertion can authenticate as an arbitrary user.
AI Analysis
Technical Summary
CVE-2026-18092 is an improper verification of cryptographic signature vulnerability (CWE-347) in TIMLEGGE's Net::SAML2 Perl module versions before 0.86. The new_from_xml function reads SAML identity fields such as NameID and attributes using document-wide XPath queries that select the first matching element in document order, ignoring whether that element is covered by the verified XML signature. Although handle_response confirms the presence of a signature and validates the certificate chain when configured, XML::Sig only verifies the element referenced by the signature's URI. Consequently, unsigned sibling assertions in the same SAML response document are not covered by the signature. An attacker possessing any valid IdP-signed assertion can prepend an unsigned attacker-crafted assertion earlier in document order. The signature verification passes, but the system extracts identity fields from the attacker's unsigned assertion, enabling authentication bypass as an arbitrary user.
Potential Impact
An attacker who holds any one valid IdP-signed assertion can bypass SAML authentication by injecting an unsigned assertion with attacker-controlled identity fields earlier in the document. This allows the attacker to impersonate arbitrary users despite the presence of valid signature verification and configured certificate trust anchors. The vulnerability undermines the integrity of SAML authentication in affected versions of Net::SAML2, potentially leading to unauthorized access.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, avoid passing untrusted SAML Response documents to new_from_xml or implement additional validation to ensure that identity fields are extracted only from the signed assertion subtree. Monitor vendor channels for updates and apply patches promptly once released.
CVE-2026-18092: CWE-347 Improper Verification of Cryptographic Signature in TIMLEGGE Net::SAML2
Description
Net::SAML2 versions before 0.86 for Perl allow SAML authentication bypass via XML signature wrapping because new_from_xml reads assertion identity with document-wide XPath instead of the signed subtree. new_from_xml reads the NameID, attribute values, SessionIndex, audience and other identity fields with document-wide XPath, such as //saml:Assertion/saml:AttributeStatement/saml:Attribute and //saml:Subject/saml:NameID, which select the first matching element in document order rather than the element covered by the verified signature. handle_response confirms that a signature is present and, when a cacert is configured, that it chains to the CA, but XML::Sig verifies only the element named by the signature's Reference URI, so unsigned sibling assertions in the same document are not covered. An attacker who holds any one IdP-signed assertion can add an unsigned attacker-authored assertion earlier in document order; the signature still verifies and the document-order XPath returns the attacker's NameID and attributes. Any caller that passes an untrusted Response to new_from_xml can accept identity fields from an assertion the IdP never signed, even when a cacert trust anchor is configured, so a party holding one valid IdP-signed assertion can authenticate as an arbitrary user.
CVSS v3.1
Score 8.1high
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
CVE-2026-18092 is an improper verification of cryptographic signature vulnerability (CWE-347) in TIMLEGGE's Net::SAML2 Perl module versions before 0.86. The new_from_xml function reads SAML identity fields such as NameID and attributes using document-wide XPath queries that select the first matching element in document order, ignoring whether that element is covered by the verified XML signature. Although handle_response confirms the presence of a signature and validates the certificate chain when configured, XML::Sig only verifies the element referenced by the signature's URI. Consequently, unsigned sibling assertions in the same SAML response document are not covered by the signature. An attacker possessing any valid IdP-signed assertion can prepend an unsigned attacker-crafted assertion earlier in document order. The signature verification passes, but the system extracts identity fields from the attacker's unsigned assertion, enabling authentication bypass as an arbitrary user.
Potential Impact
An attacker who holds any one valid IdP-signed assertion can bypass SAML authentication by injecting an unsigned assertion with attacker-controlled identity fields earlier in the document. This allows the attacker to impersonate arbitrary users despite the presence of valid signature verification and configured certificate trust anchors. The vulnerability undermines the integrity of SAML authentication in affected versions of Net::SAML2, potentially leading to unauthorized access.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, avoid passing untrusted SAML Response documents to new_from_xml or implement additional validation to ensure that identity fields are extracted only from the signed assertion subtree. Monitor vendor channels for updates and apply patches promptly once released.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- CPANSec
- Date Reserved
- 2026-07-28T16:46:56.926Z
- Cvss Version
- null
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a7098b0bf32cb7a34a822a9
Added to database: 08/03/2026, 13:33:36 UTC
Last enriched: 08/03/2026, 13:53:19 UTC
Last updated: 08/04/2026, 00:12:27 UTC
Views: 6
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.