CVE-2026-9487: XML::Sig versions before 0.71 for Perl allow signature wrapping via duplicate ID
XML::Sig versions before 0.71 for Perl allow signature wrapping via duplicate ID.
getsignedxml() 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
XML::Sig (Perl)to a version that resolves this vulnerability.Fixed in 0.71
Event History
Frequently Asked Questions
What is the severity of CVE-2026-9487?
CVE-2026-9487 has a risk severity rating of 70.
How do I fix CVE-2026-9487?
To fix CVE-2026-9487, upgrade to XML::Sig version 0.71 or later.
What software is affected by CVE-2026-9487?
CVE-2026-9487 affects the CPAN Perl XML::Sig library versions prior to 0.71.
What is the impact of CVE-2026-9487?
CVE-2026-9487 allows for signature wrapping attacks via duplicate ID in XML documents.
When was CVE-2026-9487 published?
CVE-2026-9487 was published on August 3, 2026.