CVE-2026-9098: Critical severity Casdoor Casdoor vulnerability
In Casdoor versions 2.362.0 and earlier, the SAML callback handler in controllers/auth.go accepts any well-formed SAMLResponse sent to /api/acs without verifying that it corresponds to an AuthnRequest previously issued by Casdoor. Additionally, if an administrator disables or deletes an IdP (Identity Provider) after a SAML flow has started, the handler still processes the response using the provider snapshot loaded at the start of the request. As a result, an attacker controlling a registered upstream IdP can send unsolicited SAML responses, or replay a legitimately captured response in a different session or after the original flow has ended. In both cases, Casdoor accepts the response and issues a session, enabling persistent unauthorized access.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Casdoorto a version that resolves this vulnerability.Fixed in 2.362.0 - Configuration
Update Casdoor so the SAML callback handler in controllers/auth.go verifies that the received SAMLResponse corresponds to an AuthnRequest previously issued by Casdoor (and is not an unsolicited response or replayed into a different session).
Casdoor SAML callback handler (/api/acs) SAMLResponse validation = Require correlation between incoming SAMLResponse and an AuthnRequest previously issued by Casdoor
Event History
Frequently Asked Questions
What is the severity of CVE-2026-9098?
CVE-2026-9098 has a risk rating of 20.
How do I fix CVE-2026-9098?
To fix CVE-2026-9098, upgrade to Casdoor versions newer than 2.362.0.
What application is affected by CVE-2026-9098?
CVE-2026-9098 affects Casdoor, specifically versions 2.362.0 and earlier.
What type of attack does CVE-2026-9098 allow?
CVE-2026-9098 allows attackers to send forged SAML responses to bypass authentication.
Does CVE-2026-9098 affect all installations of Casdoor?
CVE-2026-9098 affects installations running versions 2.362.0 and earlier that utilize SAML for authentication.