CVE-2026-9487
TIMLEGGE · XML::Sig
XML::Sig versions before 0.71 for Perl are vulnerable to signature wrapping attacks because the library fails to detect duplicate ID attributes during the XML verification process.
Executive summary
A critical signature wrapping vulnerability in the XML::Sig library allows unauthenticated attackers to bypass integrity checks by exploiting duplicate ID attributes.
Vulnerability
The verify() function resolves URI references to XML nodes using an XPath expression that returns only the first matching element, failing to detect duplicate IDs. An attacker can supply a document where the signature validates the first element, while the application processes the second, malicious element.
Business impact
This flaw can be leveraged to conduct signature wrapping attacks, particularly in SAML2 contexts, where an attacker can force an application to accept malicious assertions. With a CVSS score of 9.1, this vulnerability poses a severe threat to the trust model of any system relying on the integrity of signed XML documents.
Remediation
Immediate Action: Upgrade to version 0.71 or higher, which includes fixes to correctly handle and validate unique identifiers.
Proactive Monitoring: Review logs for anomalous XML processing patterns or documents containing duplicate ID attributes that deviate from expected standards.
Compensating Controls: Implement secondary validation layers that enforce schema-level constraints, such as ensuring unique ID attributes before passing the document to the XML::Sig library.
Exploitation status
Public Exploit Available: No
Analyst recommendation
The vulnerability in XML::Sig is critical for applications that process signed XML data. Organizations should move quickly to update the library to version 0.71 to prevent potential identity spoofing and signature bypass attacks.