CVE-2025-25292ruby-saml companion signature-wrapping bypass
What broke
CVE-2025-25292 is the companion to CVE-2025-25291: a second way to wrap a signed SAML assertion so ruby-saml accepts an attacker-controlled NameID or attribute statement. Same root cause family (parser disagreement, CWE-347 improper verification of cryptographic signature), same March 2025 patch train.
The March fix did not hold. CVE-2025-54572 is the incomplete-fix follow-on, and PortSwigger's December 2025 "The Fragile Lock" work produced CVE-2025-66567 and CVE-2025-66568.
Why it matters
If you patched 25291 and assumed you were done, you were not. Signature wrapping is a class, not a single line of code. Identity teams that treat each ruby-saml CVE as a one-time ticket will keep reopening it.
What to do
- Treat the ruby-saml series as one upgrade: land on 1.18.1 or later, not on the first patched minor.
- After any SAML library upgrade, rotate signing certificates at the identity provider.
- Add a detection story: SSO assertions whose signed XML and consumed XML do not match, or logins whose NameID never appeared in a prior valid assertion for that session.
After you patch
A SAML bypass means the service provider accepted an assertion it should have rejected, so anyone who exploited it authenticated as a real user and left a normal-looking log line.
- Revoke every session issued by the affected service provider, then rotate its session signing keys. Patching stops new forgeries and does nothing about sessions already minted.
- Audit administrative accounts and group memberships for changes during the exposure window. Signing in as an administrator is the point of this class, and adding a second account is the standard persistence step.
- Rotate the identity provider signing certificate if the flaw involved signature validation, and confirm the service provider pins the expected certificate rather than trusting anything in the assertion.
- Check your own implementation for the same class: exact-match comparison on verification results, rejection of unexpected signature algorithms, and audience and recency checks on every assertion. See SAML 2.0 and SAML vs OIDC.
Sources
Related identity CVEs
Related on Start with Identity
- CVEruby-saml 2024 auth bypass (ahacker1), still in the blast radius
The original 2024 ruby-saml authentication bypass (CVSS 10.0). It is outside the last twelve months, but every 2025 ruby-saml CVE is an incomplete-fix descendan
- CVEruby-saml denial of service via compressed SAML messages
A compressed SAML message can be inflated into a resource-exhaustion hit against ruby-saml. Not an impersonation bug, but it sits in the same March 2025 patch t
- CVEGitHub Enterprise Server SAML XML signature wrapping
A third 2024 GHES SAML path. An attacker with network access could wrap a signature and provision a privileged user. Same product, same year, same lesson: do no
- BlogFortinet's January SSO bypass hit boxes already patched for December's SAML bug
CVE-2026-24858 is the follow-on FortiCloud SSO SAML bypass. Devices patched for CVE-2025-59718 and 59719 were still exploitable. Actively exploited. CISA guidan
- GlossaryIdentity Federation
A trust relationship between identity providers and service providers that lets users authenticate once at their home IdP and access applications at the other p
- GlossaryService Provider (SP)
The application that consumes identity assertions from an IdP to grant the user access. In SAML it's the SP; in OIDC the equivalent is the Relying Party. The se
Technique
This CVE is an instance of Federation trust abuse and SAML forgery. A service provider that accepts a SAML assertion it should have rejected treats a forged identity as authenticated, because the failure sits in signature validation code, not in cryptography.