What’s Vulnerable › Vulnerabilities
CVE-2025-66568: ruby-saml Libxml2 Canonicalization errors can bypass Digest/Signature validation
- Severity: critical (CVSS 9.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-12-09 · updated 2026-10-14
- Weakness: CWE-347
Description
The ruby-saml library implements the client side of an SAML authorization. Versions up to and including 1.12.4, are vulnerable to authentication bypass through the libxml2 canonicalization process used by Nokogiri for document transformation, which allows an attacker to execute a Signature Wrapping attack. When libxml2’s canonicalization is invoked on an invalid XML input, it may return an empty string rather than a canonicalized node. ruby-saml then proceeds to compute the DigestValue over this empty string, treating it as if canonicalization succeeded. This issue is fixed in version 1.18.0.
Affected products
- SAML-Toolkits ruby-saml: before 1.18.0 — fixed in 1.18.0
- Rubygems Ruby-Saml: before 1.18.0; 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.2.1, 0.2.2 (+81) — fixed in 1.18.0
How to fix
Upgrade to a fixed version: SAML-Toolkits ruby-saml 1.18.0; Rubygems Ruby-Saml 1.18.0. Check the vendor advisory for mitigations.
References
- https://github.com/SAML-Toolkits/ruby-saml/commit/acac9e9cc0b9a507882c614f25d41f8b47be349a
- https://github.com/SAML-Toolkits/ruby-saml/security/advisories/GHSA-x4h9-gwv3-r4m4
Get alerted when CVE-2025-66568 or the next vulnerability affects your stack