Security Digest · Vulnerability record
CVE-2025-25291: Ruby SAML allows a SAML authentication bypass due to DOCTYPE handling (parser differential)
ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby.
CVSS 9.3 Critical EPSS 21.0% · p98
Should you act?
High exploit likelihood
EPSS ranks it in the top 5% of all CVEs for likely exploitation in the next 30 days. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- Not in CISA KEV, but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 21.0%, percentile 98: FIRST’s model estimates a 21.0% chance of exploitation activity in the next 30 days, higher than 98% of all scored CVEs (very high). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes
ruby-saml(RubyGems) < 1.12.4, fixed in 1.12.4;ruby-saml(RubyGems) >= 1.13.0, < 1.18.0, fixed in 1.18.0. Check your lockfile, including transitive dependencies.
What it is
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.
From the GitHub advisory
Summary An authentication bypass vulnerability was found in ruby-saml 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.
Impact This issue may lead to authentication bypass.
Weakness type: CWE-347, CWE-436.
Product: ruby-saml (RubyGems) · Assigned by: GitHub_M · Published: 2025-03-12
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| RubyGems | ruby-saml | < 1.12.4 | 1.12.4 |
| RubyGems | ruby-saml | >= 1.13.0, < 1.18.0 | 1.18.0 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| SAML-Toolkits | ruby-saml | < 1.12.4, >= 1.13.0, < 1.18.0 |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_M | 4.0 | 9.3 Critical | 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 |
| GitHub | 4.0 | 9.3 | 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 |
- Attack vector: network (remotely reachable)
- Attack complexity: low
- Attack requirements: none
- Privileges required: none (no login)
- User interaction: none
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc, automatable yes, technical impact total.
- FIRST EPSS (model of 2026-10-21): 20.96% probability of exploitation activity in the next 30 days; percentile 98.
Timeline
- — CVE record published by GitHub_M
- — GitHub-reviewed advisory GHSA-4vc4-m8qh-g8jm published (critical)
- — CVE record last updated
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vulnerability records
- GitHub Advisory GHSA-4vc4-m8qh-g8jm github.com
- CVE.org record CVE-2025-25291 cve.org
- NVD entry CVE-2025-25291 nvd.nist.gov
Other references from the CVE record and advisory
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- about.gitlab.com about.gitlab.com
- github.blog github.blog
- github.com github.com
- github.com github.com
- portswigger.net portswigger.net
- securitylab.github.com securitylab.github.com
- security.netapp.com security.netapp.com
- news.ycombinator.com news.ycombinator.com
- lists.debian.org lists.debian.org
- github.com github.com