← Vulnerability feed

Vulnerability record · CVE-2025-25292 · published 12 March 2025

CVE-2025-25292: ruby-saml parser differential enables SAML signature wrapping auth bypass

Omniauth · Omniauth Saml

ruby-saml before 1.12.4 and 1.18.0 is vulnerable to an authentication bypass caused by a parser differential between ReXML and Nokogiri, which can produce different document structures from the same XML input. This allows a Signature Wrapping attack that defeats SAML assertion signature verification, letting an attacker impersonate a user. The flaw is rated CVSS 4.0 9.3 (critical) and affects ruby-saml, omniauth-saml and NetApp StorageGRID.

9.3 CVSS 4.0 Critical EPSS 65% · top 0.8% CWE-347 · Improper verification of cryptographic signatureCWE-436 · Interpretation conflict
9.3CVSS 4.0 base score
65%EPSS exploitation probability, 30 days
NoNot in CISA KEV
3Affected product versions listed by NVD
13References, 2 tagged exploit
17 Jun 2026Last modified by NVD

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.

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:

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: high.

critical priorityCVSS 4.0 score of 9.3 with no authentication or user interaction required, and public exploit research plus very high EPSS make this an urgent authentication bypass.

What it is

ruby-saml before 1.12.4 and 1.18.0 is vulnerable to an authentication bypass caused by a parser differential between ReXML and Nokogiri, which can produce different document structures from the same XML input. This allows a Signature Wrapping attack that defeats SAML assertion signature verification, letting an attacker impersonate a user. The flaw is rated CVSS 4.0 9.3 (critical) and affects ruby-saml, omniauth-saml and NetApp StorageGRID.

Impact

An attacker can bypass SAML SSO authentication and sign in as an arbitrary user, including administrative accounts, without valid credentials. This grants access to whatever the impersonated identity is authorized to reach.

Attack surface

Reachable over the network via crafted SAML responses submitted to the service provider's assertion consumer endpoint; no authentication or user interaction is required per the CVSS vector (AV:N/AC:L/PR:N/UI:N). The attacker needs the ability to deliver a malicious SAML response to the SP.

Exploitation

Not listed in CISA KEV, but EPSS is 0.65086 (99.2nd percentile), indicating high predicted exploitation activity. Multiple references are tagged Exploit, including GitHub Security Lab and PortSwigger research, so public exploitation detail exists.

What to do

  • Upgrade ruby-saml to 1.12.4 or 1.18.0 (or later) immediately; apply the linked commits if a version bump is not possible.
  • Upgrade omniauth-saml and any bundled ruby-saml dependency, and apply the GitLab patch release if running GitLab.
  • Apply the NetApp StorageGRID advisory fix if StorageGRID is deployed.
  • Ensure only one XML parser is used consistently for signature verification and document processing to avoid parser differentials.
  • Verify SAML assertion signatures against the exact signed element and reject responses with multiple or wrapped assertions.

Detection

  • Monitor SAML responses for duplicate or nested Assertion elements and signatures that do not cover the consumed assertion.
  • Alert on successful SSO logins where the assertion ID, issuer or subject does not match the expected IdP or session context.
  • Log and review XML parser errors or mismatches between ReXML and Nokogiri parsing paths in ruby-saml.
  • Hunt for anomalous authentication from new source IPs or user agents immediately following SAML response processing.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

3 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2025-25292 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

9.8CVE-2016-3427Oracle Java SE JMX Improper Access Control VulnerabilityCVE-2016-3427 is an unspecified vulnerability in Oracle Java SE 6u113, 7u99, 8u77, Java SE Embedded 8u77, and JRockit R28.3.9, reached through vector…KEVEPSS 92%analysed9.0CVE-2021-40438Apache HTTP Server mod_proxy SSRF via crafted URI pathA crafted request URI path can make mod_proxy forward the request to an origin server chosen by the remote user, an SSRF flaw in Apache HTTP Server 2…KEVEPSS 100%analysed9.8CVE-2024-45409Onelogin ruby-saml improper verification of cryptographic signature vulnerabilityThe Ruby SAML library is for implementing the client side of a SAML authorization. Ruby-SAML in <= 12.2 and 1.13.0 <= 1.16.0 does not properly verify…EPSS 11%9.8CVE-2015-20108Onelogin ruby-saml command injection vulnerabilityxml_security.rb in the ruby-saml gem before 1.0.0 for Ruby allows XPath injection and code execution because prepared statements are not used.EPSS 1.3%9.8CVE-2022-37434Zlib out-of-bounds write vulnerabilityzlib through 1.2.12 has a heap-based buffer over-read or buffer overflow in inflate in inflate.c via a large gzip header extra field. NOTE: only appl…EPSS 18%9.8CVE-2021-39275Apache http server out-of-bounds write vulnerabilityap_escape_quotes() may write beyond the end of a buffer when given malicious input. No included modules pass untrusted data to these functions, but t…EPSS 39%9.8CVE-2017-11430Omniauth saml improper authentication vulnerabilityOmniAuth OmnitAuth-SAML 1.9.0 and earlier may incorrectly utilize the results of XML DOM traversal and canonicalization APIs in such a way that an at…EPSS 2.4%9.8CVE-2017-11428Onelogin ruby-saml improper authentication vulnerabilityOneLogin Ruby-SAML 1.6.0 and earlier may incorrectly utilize the results of XML DOM traversal and canonicalization APIs in such a way that an attacke…EPSS 2.4%

Source: NIST National Vulnerability Database (record CVE-2025-25292), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.