SAML identity CVEs
Signature wrapping and parser differentials keep turning one valid assertion into a login as any user. If you run workforce SSO on SAML, this is the protocol page to start with.
How this protocol fails
SAML is still how a large share of enterprise SSO works. The 2024-2026 failures are almost all the same bug in different clothes: the verifier checks a signature on one XML tree and consumes NameID or attributes from another. ruby-saml, samlify, GitHub Enterprise Server, Keycloak, FortiCloud SSO, and HaloITSM all failed that test. A single leaked or captured signature is enough. Encrypted assertions did not save GHES. Incomplete fixes came back as new CVEs within months. On a firewall or VPN ACS, the same class is actively exploited and on CISA KEV.
What security people should do
- Inventory every ACS that verifies SAML itself, not only the IdP. GitLab, GHES, homegrown Rails and Node SPs, and appliance SSO all count.
- Upgrade SAML libraries past the incomplete-fix lines (ruby-saml 1.18.1 or later, samlify 2.10.0 or later) and rotate IdP signing keys after you patch.
- Prefer a single XML stack. Dual parsers (ReXML plus Nokogiri) are how wrapping survives a "we patched" ticket.
- Disable FortiCloud SSO and similar appliance SAML if you do not need it. Hunt for rogue admins after any KEV SAML bypass.
- Add a regression test: a known wrapping fixture must fail after every library bump.
CVEs in this category
Showing 24 of 24
- CVE-2026-107406critical 9.5NetScaler memory overflow reachable through SAML IdP and SP configurationsNetScaler ADC and NetScaler Gateway · Cloud Software Group (Citrix) · 2026-10-08 · Patched
CVE-2026-107406 is a memory overflow in NetScaler ADC and Gateway that can lead to remote code execution when the appliance acts as a SAML identity provider or service provider. CVSS 9.5, fixed in 14.1-73.46 and 13.1-64.29.
- CVE-2026-88779high 8.7CISA KEVExploitedNetScaler SAML memory overflow exploited as a zero-dayNetScaler ADC and NetScaler Gateway · Cloud Software Group (Citrix) · 2026-10-03 · Actively exploited
CVE-2026-88779 is a memory overflow in NetScaler ADC and Gateway reachable only when the appliance acts as a SAML service provider or identity provider. Exploited before the fix, on CISA KEV, CVSS 8.7, fixed in 14.1-73.41 and 13.1-64.28.
- CVE-2026-19490critical 9.3CISA KEVExploitedNetScaler Gateway and AAA authentication bypass with SAML configuredNetScaler ADC and NetScaler Gateway · Cloud Software Group (Citrix) · 2026-08-19 · Actively exploited
CVE-2026-19490 lets an attacker bypass authentication on NetScaler ADC and Gateway appliances running a Gateway or AAA virtual server. CVSS 9.3, shipped alongside a memory overflow. Fixed in 14.1-73.32 and 13.1-63.21.
- CVE-2026-18967high 8.1Keycloak SAML broker assertion replay, session hijackKeycloak · Red Hat · 2026-08-05 · Patched
Keycloak's SAML broker accepted a replayed assertion and hijacked a user session. An authentication bypass on the broker edge. Patched in the 2026 Keycloak SAML train with CVE-2026-2603.
- CVE-2026-2603high 8.1Keycloak accepts SAML from a disabled identity providerKeycloak · Red Hat · 2026-03-18 · Patched
A remote attacker can complete a broker login with a valid SAML response even after the SAML IdP is disabled in Keycloak. Unauthorized authentication via a control you thought you turned off.
- CVE-2025-59719critical 9.8FortiWeb FortiCloud SSO SAML bypassFortinet FortiWeb · Fortinet · 2025-12-09 · Patched
The FortiWeb twin of CVE-2025-59718. A crafted SAML message bypasses FortiCloud SSO on FortiWeb. Same CWE-347 class, same December 2025 window, same 'patch or disable SSO' advice.
- CVE-2025-59718critical 9.8CISA KEVExploitedFortiCloud SSO SAML bypass on FortiOS, FortiProxy, FortiSwitchManagerFortinet FortiOS / FortiProxy / FortiSwitchManager · Fortinet · 2025-12-09 · Actively exploited
A crafted SAML message bypasses FortiCloud SSO (CWE-347). Arctic Wolf saw malicious logins three days after disclosure. CISA added it to KEV on 16 December 2025 with a 23 December patch-by date.
- CVE-2025-66568critical 9.3ruby-saml second Fragile Lock bypassruby-saml · SAML-Toolkits · 2025-12-08 · Patched
Companion to CVE-2025-66567. Another SAML bypass in ruby-saml below 1.18.0, including 1.12.4. Same December 2025 disclosure, same 1.18.1 fix.
- CVE-2025-66567critical 9.3ruby-saml bypass after 1.12.4, PortSwigger Fragile Lockruby-saml · SAML-Toolkits · 2025-12-08 · Patched
Disclosed 8 December 2025 with CVE-2025-66568. ruby-saml below 1.18.0, including the earlier patched 1.12.4 line, still allowed SAML assertion forgery. Fixed in 1.18.1.
- CVE-2025-54572critical 6.9ruby-saml auth bypass, incomplete fix of CVE-2025-25292ruby-saml · SAML-Toolkits · 2025-07-30 · Patched
The March 2025 ruby-saml patch did not close the parser differential. CVE-2025-54572 is the incomplete-fix follow-on: still a critical SSO impersonation if you stopped at 1.12.4.
- CVE-2025-47949critical 9.9samlify signature wrapping, forge SAML as any usersamlify · samlify · 2025-05-20 · Patched
samlify before 2.10.0 accepted wrapped SAML signatures (CWE-347). An attacker can forge responses and impersonate any user, including admins. Node shops hit this as hard as Ruby shops hit ruby-saml.
- CVE-2025-25293high 7.7ruby-saml denial of service via compressed SAML messagesruby-saml · SAML-Toolkits · 2025-03-12 · Patched
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 train as the critical wrapping flaws.
- CVE-2025-25292critical 10.0ruby-saml companion signature-wrapping bypassruby-saml · SAML-Toolkits · 2025-03-12 · Patched
The pair to CVE-2025-25291. A second signature-wrapping path in ruby-saml lets an attacker forge assertions and impersonate any user. The March 2025 patch was later shown to be incomplete.
- CVE-2025-25291critical 10.0ruby-saml parser differential enables signature wrappingruby-saml · SAML-Toolkits / GitLab · 2025-03-12 · Patched
ReXML and Nokogiri disagree on the same SAML document. An attacker with one valid signature can wrap a new assertion and log in as any user on GitLab, omniauth-saml, and anything else still on ruby-saml before 1.12.4 / 1.18.0.
- CVE-2025-23369high 7.6GitHub Enterprise Server SAML bypass via libxml2 canonicalizationGitHub Enterprise Server · GitHub · 2025-01-21 · Patched
GitHub Enterprise Server accepted a crafted SAML response because libxml2 canonicalization quirks let the signed XML and the consumed XML diverge. High-severity SSO impersonation on self-hosted GitHub.
- CVE-2024-9487critical 9.5GitHub Enterprise Server SAML encrypted-assertion, incomplete fixGitHub Enterprise Server · GitHub · 2024-10-10 · Patched
The leftover path after CVE-2024-4985. Encrypted SAML assertions on GHES could still be forged. GitHub shipped a second hardening pass. Treat 4985 and 9487 as one upgrade.
- CVE-2024-8698high 7.7Keycloak SAML signature validation bypassKeycloak · Red Hat · 2024-09-19 · Patched
Keycloak's XMLSignatureUtil decided a SAML response was signed when it was not bound to the assertion later consumed. Impersonation and privilege escalation on any realm using SAML. High. Red Hat patched September 2024.
- CVE-2024-45409critical 10.0ruby-saml 2024 auth bypass (ahacker1), still in the blast radiusruby-saml · SAML-Toolkits · 2024-09-10 · Patched
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 descendant. If you are still on a pre-2024 library, start here.
- CVE-2024-6800critical 9.5GitHub Enterprise Server SAML XML signature wrappingGitHub Enterprise Server · GitHub · 2024-08-20 · Patched
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 not trust encrypted assertions to save a wrapping bug.
- CVE-2024-6202critical 9.8HaloITSM SAML signature wrapping, log in as any userHaloITSM · Halo · 2024-06-20 · Patched
HaloITSM accepted a wrapped SAML assertion. An attacker with one valid signature could impersonate any user, including admins. Critical. Another 2024 reminder that ITSM tools are identity providers in practice.
- CVE-2024-20355high 5.0Cisco SAML 2.0 mixes authorization domainsCisco products (SAML 2.0) · Cisco · 2024-05-22 · Patched
Cisco's SAML 2.0 implementation did not keep authorization domains apart. A token or assertion meant for one domain could authorize in another. May 2024. The protocol-level cousin of private_key_jwt audience mix-ups.
- CVE-2024-4985critical 10.0GitHub Enterprise Server SAML encrypted-assertion bypassGitHub Enterprise Server · GitHub · 2024-05-20 · Patched
GHES with optional encrypted SAML assertions accepted a forged response. An unauthenticated attacker could provision a site administrator. Fixed in 3.9.15, 3.10.12, 3.11.10, and 3.12.4. The leftover path became CVE-2024-9487.
- CVE-2023-6717high 6.0Keycloak SAML POST-binding XSS via ACS URLKeycloak · Red Hat · 2024-04-16 · Patched
The SAML POST-binding flow reflected a crafted Assertion Consumer Service URL as script. An XSS on the IdP login path is session theft. Patched with the April 2024 Keycloak train.
- CVE-2024-21893critical 8.2CISA KEVExploitedIvanti Connect Secure SAML SSRF, chained to auth bypassIvanti Connect Secure / Policy Secure · Ivanti · 2024-01-31 · Actively exploited
SSRF in the SAML component of Ivanti Connect Secure and Policy Secure. Attackers chained it with CVE-2023-46805 and CVE-2024-21887 after those were patched. CISA KEV. The SAML ACS became the way back in.