ruby-saml: Improper Verification of Cryptographic Signature
CVE-2025-25292 is a critical-severity improper verification of cryptographic signature vulnerability in ruby-saml from SAML-Toolkits, with a CVSS 3.1 base score of 9.8 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected ruby-saml versions: < 1.12.4; >= 1.13.0, < 1.18.0. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 65.1% chance of exploitation within 30 days, which is in the top 0.73% of all scored CVEs.
Exploitation in the next 30 days is more likely than not, according to EPSS.
What to do
- Update Omniauth Saml to 1.10.6 or 2.1.3 or 2.2.3, whichever matches your release line, or a later version.
- Read the advisory on github.com for workarounds and exact fixed builds.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| SAML-Toolkits | ruby-saml | < 1.12.4; >= 1.13.0, < 1.18.0 | Not stated |
| Omniauth | Omniauth Saml | before 1.10.6; 2.0.0 up to, but not including, 2.1.3; 2.2.0 up to, but not including, 2.2.3 | 1.10.6, 2.1.3, 2.2.3 |
| NetApp | Storagegrid | Not specified in the record | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 4.0 | 9.3 | Critical | CNA (github.com) |
| CVSS 3.1 | 9.8 | Critical | NVD |
Official 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.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Verification of Cryptographic Signature
The product does not verify, or incorrectly verifies, the cryptographic signature for data.
More Improper Verification of Cryptographic Signature vulnerabilities (CWE-347)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
Patches and release notes
- about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released
- github.com/SAML-Toolkits/ruby-saml/commit/e76c5b36bac40aedbf1ba7ffaaf495be63328cd9
- github.com/SAML-Toolkits/ruby-saml/commit/e9c1cdbd0f9afa467b585de279db0cbd0fb8ae97
- github.com/SAML-Toolkits/ruby-saml/releases/tag/v1.12.4Release Notes
- github.com/SAML-Toolkits/ruby-saml/releases/tag/v1.18.0Release Notes
Third-party and government advisories
- securitylab.github.com/advisories/GHSL-2024-329_GHSL-2024-330_ruby-samlThird Party Advisory
- security.netapp.com/advisory/ntap-20250314-0009/Third Party Advisory
Technical write-ups (may include proof of concept)
- github.blog/security/sign-in-as-anyone-bypassing-saml-sso-authentication-with-parser-differentialsExploit, Third Party Advisory
- portswigger.net/research/saml-roulette-the-hacker-always-winsExploit, Third Party Advisory
Other references
Other vulnerabilities in ruby-saml
- 9.1 Critical severity
- 9.1 Critical severity
- 7.5 High severity
- 9.8 Critical severity
- 9.8 Critical severity
Recent Improper Verification of Cryptographic Signature vulnerabilities
- 8.8 High severity
- 8.6 High severity
- 7.8 High severity
- 9.8 Critical severity
- 9.3 Critical severity
- 9.8 Critical severity
Spotted an error? Tell us.