CVE-2026-18568
Last modified
CVE-2026-18568 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. XML::Sig versions from 0.29 before 0.72 for Perl allow signature verification bypass because verify returns true when every signature was skipped before any cryptographic check. verify in lib/XML/Sig.pm counts the `//dsig:Signature` elements into `$numsigs` and iterates over them, but two paths reach `next` before any digest or key check runs: a `SignedInfo/Reference/@URI` that resolves to no element while `$numsigs` is greater than 1, and, when `id_attr` is set, a reference that does not match the requested ID. The loop records nothing about what it checked, so when every signature takes one of those paths control reaches the unconditional `return 1` that ends verify. EPSS estimates a 0.19% chance of exploitation in the next 30 days.
Description
XML::Sig versions from 0.29 before 0.72 for Perl allow signature verification bypass because verify returns true when every signature was skipped before any cryptographic check. verify in lib/XML/Sig.pm counts the `//dsig:Signature` elements into `$numsigs` and iterates over them, but two paths reach `next` before any digest or key check runs: a `SignedInfo/Reference/@URI` that resolves to no element while `$numsigs` is greater than 1, and, when `id_attr` is set, a reference that does not match the requested ID. The loop records nothing about what it checked, so when every signature takes one of those paths control reaches the unconditional `return 1` that ends verify. Two `Signature` elements whose Reference URI names an ID that no element carries is enough, as is one such element combined with `id_attr`. Any caller that passes untrusted XML to verify can receive a true return for a document in which no digest and no signature value was checked; a `cert` or `cert_text` trust anchor does not change this, because no key check runs. Versions up to 0.28 use an XML::XPath based verify that has no such skip and are not affected.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness Enumeration
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Xml\ | \ | >= 0.29, < 0.72 | Xml\ |
References
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2026-18568?
How severe is CVE-2026-18568?
How do I fix CVE-2026-18568?
How Strix Helps
- Same Subject, Wrong User: A Cross-Issuer Account Takeover in n8nStrix found an identity-binding bug in n8n's token-exchange flow enabling account takeover.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-1853The BuddyHolis ListSearch plugin for WordPress is vulnerable…6.4
- CVE-2026-18531IBM Maximo Application Suite 9.2, 9.1, and 9.0 could allow a…5.3
- CVE-2026-18536Data::Entropy versions before 0.010 for Perl read remote ent…7.5
- CVE-2026-1854The Post Flagger plugin for WordPress is vulnerable to Store…6.4
- CVE-2026-18556Authentication bypass using an alternate path or channel vul…7.4
- CVE-2026-1856The Appointment Booking Calendar plugin for WordPress is vul…6.4
- CVE-2026-18569A flaw was found in the backchannel logout endpoint of the k…3.7
- CVE-2026-1857The Gutenberg Blocks with AI by Kadence WP plugin for WordPr…4.3
- CVE-2026-18570A flaw was found in the full-scope-disabled client-policy ex…5.4
- CVE-2026-18571A flaw was found in the user creation component of Keycloak …7.2
- CVE-2026-18572Keycloak provides authorization services that allow administ…6.5
- CVE-2026-18573A flaw was found in the keycloak-services component of Keycl…6.5
Are you affected by CVE-2026-18568?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
