ZeroHour

CVE-2025-25292

PoC ×2mass

Authentication Bypass (Signature Wrapping) in ruby-saml via XML Parser Differential

CVSS 4.0
9.3 critical
EPSS
65%p99
Published
()
Modified
AI analysis

ruby-saml versions prior to 1.12.4 and 1.18.0 (CVE-2025-25292) are vulnerable to an authentication bypass caused by a parser differential: the ReXML and Nokogiri XML parsers used in the SAML validation path can produce entirely different document structures from the same XML input (CWE-347, CWE-436). An attacker who can submit a crafted SAML response, for example through an account on a connected identity provider, can craft a response whose signature validates under one parser while the assertion is interpreted differently under the other, executing a Signature Wrapping attack. Successful exploitation allows an unauthenticated attacker to sign in as any user of the service provider, bypassing SAML SSO and enabling account takeover. Any Ruby application authenticating via ruby-saml directly or through dependencies such as omniauth-saml is affected, along with products that bundle the library such as NetApp StorageGRID and SSO platforms like GitLab that depend on it. The flaw is not yet on the CISA KEV list, but public PoCs and detailed write-ups from GitHub and PortSwigger are available, and a high EPSS score (65.1%, 99th percentile) indicates an elevated likelihood of exploitation within 30 days.

What to do: Upgrade ruby-saml to 1.12.4 if pinned to the 1.12.x line or, preferably, to 1.18.0, and rebuild/update dependent gems such as omniauth-saml; apply vendor updates for NetApp StorageGRID as they become available. Operators of SAML SSO endpoints should prioritize internet-facing identity flows, audit recent sign-ins for anomalies, and verify patched versions are actually loaded at runtime (e.g., via 'gem list' or the dependency lockfile).

Affected
onelogin ruby-samlall versions prior to 1.12.4 (1.12.x line) and prior to 1.18.0; fixed in 1.12.4 and 1.18.0
omniauth-samlreleases depending on a vulnerable ruby-saml (prior to 1.12.4 / 1.18.0); exact omniauth-saml version range not specified in the data
netapp StorageGRID
Estimated exposure
massplausibly hundreds of thousands to millions of application deployments (ruby-saml/omniauth-saml are foundational Ruby SSO libraries with very large cumulative… — ruby-saml is a core SSO dependency bundled in widely deployed products and platforms (per the CPE data and the GitHub/GitLab disclosures), so the installed base plausibly exceeds 100k systems, though no precise install counts are in the…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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 contain a patch for the issue.

Vendors
omniauthoneloginnetapp
Products
omniauth saml, ruby-saml, storagegrid
Weakness
CWE-347, CWE-436
Vector
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:X

In the news