Vulnerability Description
XML::Sig versions before 0.71 for Perl allow XPath injection in ID lookup. verify() and _get_signed_xml() in lib/XML/Sig.pm build XPath expressions by concatenating the SignedInfo/Reference/@URI value read from the document being verified. The value is neither escaped nor checked against the NCName grammar that XML requires of an ID, so a URI containing a single quote closes the string literal in the generated expression and appends arbitrary XPath operators. A crafted URI can make the lookup match elements the reference does not name, or every element in the document, so which node is selected for digest verification is decided by the injected expression rather than by the reference.
CVSS Score
CRITICAL
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Xml\ | \ | < 0.71, sig_project |
Related Weaknesses (CWE)
References
- https://github.com/perl-net-saml2/perl-XML-Sig/commit/69ad2b421118fadd33d57f50b1Patch
- https://github.com/perl-net-saml2/perl-XML-Sig/commit/a85aad21aa767ac1c158bbfc19Patch
- https://metacpan.org/release/TIMLEGGE/XML-Sig-0.71/changesRelease Notes
FAQ
What is CVE-2026-9390?
CVE-2026-9390 is a vulnerability with a CVSS score of 9.1 (CRITICAL). XML::Sig versions before 0.71 for Perl allow XPath injection in ID lookup. verify() and _get_signed_xml() in lib/XML/Sig.pm build XPath expressions by concatenating the SignedInfo/Reference/@URI valu...
How severe is CVE-2026-9390?
CVE-2026-9390 has been rated CRITICAL with a CVSS base score of 9.1/10. This is considered a critical vulnerability requiring immediate attention.
Is there a patch for CVE-2026-9390?
Check the references section above for vendor advisories and patch information. Affected products include: Xml\ \.