ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. An authentication bypass vulnerability was found in ruby-saml prior to versions 1.12.4 and 1.18.0 due to a parser differential. ReXML and Nokogiri parse XML differently; the parsers can generate entirely different document structures from the same XML input. That allows an attacker to be able to execute a Signature Wrapping attack. This issue may lead to authentication bypass. Versions 1.12.4 and 1.18.0 fix the issue.
The vulnerability results from differences in how XML is parsed by two libraries: ReXML and Nokogiri. The same XML input data can be interpreted by both libraries as completely different document structures. The attacker exploits this discrepancy to perform a Signature Wrapping attack — a technique involving manipulation of the SAML response structure in such a way that the digital signature is verified for a different fragment of the document than the one actually being processed. As a result, a malicious SAML response passes signature verification despite containing falsified identity data.
An attacker without any permissions can authenticate as any user, including an administrator, completely bypassing the SAML SSO signature verification mechanism. This results in full account takeover and unauthorized access to protected resources.
ruby-saml should be updated to version 1.12.4 or 1.18.0, which eliminate the vulnerability. For omniauth-saml and NetApp StorageGRID, patches available from the vendor should be applied according to references. As a temporary workaround, enforcing a uniform XML parser throughout the SAML processing chain should be considered.
The ruby-saml library in versions earlier than 1.12.4 and earlier than 1.18.0. The vulnerability also affects products using this library, including omniauth-saml and NetApp StorageGRID.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XNetapp Storagegrid
APPNetappall versionsOmniauth Saml
APPOmniauth< 1.10.62.0.0 – 2.1.3 (excl.)2.2.0 – 2.2.3 (excl.)Onelogin Ruby Saml
APPOnelogin< 1.12.41.13.0 – 1.18.0 (excl.)
Related vulnerabilities
SSRF w mod_proxy Apache HTTP Server — przekierowanie żądań przez atakującego
Krytyczna podatność RCE w Oracle Java SE i JRockit — komponent JMX
Auth Bypass w ruby-saml przez atak Signature Wrapping (CVE-2025-66567)
Authentication bypass w ruby-saml poprzez atak Signature Wrapping
Pominięcie uwierzytelnienia SAML SSO przez atak Signature Wrapping w ruby-saml