CVE-2026-9487
CriticalCVSS 9.1Summary
A vulnerability in the XML::Sig library for Perl (versions before 0.71) allows signature wrapping via duplicate ID. The _get_signed_xml() function selects the first node from the XPath result set, enabling an attacker to substitute the content of a signed document.
Risk Assessment
The organization may be tricked into accepting a forged XML document (e.g., SAML assertion) as authentic, potentially leading to unauthorized access.
Recommendation
Update the XML::Sig library to version 0.71 or later.
Original NVD description (English source)
XML::Sig versions before 0.71 for Perl allow signature wrapping via duplicate ID. _get_signed_xml() in lib/XML/Sig.pm, called from verify(), resolves the SignedInfo Reference/@URI to a node with the XPath expression "//*[@ID='$id']" and returns the first node of the resulting node set. A document in which two elements share that ID value is accepted: the digest and signature are checked against whichever element comes first in document order, and the duplicate is not detected. Such a document verifies successfully while an application that resolves the same ID independently can read the second, attacker supplied element; in a SAML2 context this places the contents of an Assertion under attacker control.

