GHSA-339w-3hqm-9pjc CVE-2026-9097 GO-2026-5892
Casdoor doesn't verify that a JWT used for token exchange is still active
- Severity
- 9.8 / 10
- Critical · CVSS 3.1
- Exploit chance (EPSS)
- 0.40%
- Chance of exploitation in the next 30 days. Higher than 34.82% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-298 Improper Validation of Certificate Expiration
- Fix
- None yet
- No fixed version published
Description
Casdoor versions 2.362.0 and earlier do not verify that a JWT used for token exchange is still active. The GetTokenExchangeToken() function in object/token_oauth.go validates the JWT signature and parses its claims, but never queries the Token table to verify whether the subject token has been revoked or invalidated. Because the revocation check is entirely absent, administrators are unable to terminate active sessions or revoke compromised tokens.
Affected versions
Go
| Package | Vulnerable | Fixed in |
|---|---|---|
| github.com/casdoor/casdoor | <= 1.1000.1-0.20260321120606-239e8bd69487 |
No fix yet |
| github.com/casdoor/casdoor | all versions |
No fix yet |
How to fix
No fixed version has been published yet. Until one is, remove or replace the package, or turn off or isolate the affected feature. This page updates when a fix ships.
Severity breakdown
CVSS 3.1 9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Weakness
CWE-298: Improper Validation of Certificate Expiration
A certificate expiration is not validated or is incorrectly validated.
How to prevent it
- Architecture and Design: Check for expired certificates and provide the user with adequate information about the nature of the problem and how to proceed.
- Implementation: If certificate pinning is being used, ensure that all relevant properties of the certificate are fully validated before the certificate is pinned, including the expiration.
References
Advisories
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-mfvp-7p3v-x9mh Casdoor SAML callback handler accepts any well-formed SAMLResponse sent to /api/acs without verifying that it corresponds to an AuthnRequest | Critical | Also affects github.com/casdoor/casdoor |
| GHSA-rgq2-93gj-ffxg Casdoor doesn't enforce SAML assertion time bounds | High | Also affects github.com/casdoor/casdoor |
| GHSA-c9w5-qp6m-m395 Casdoor: GetTokenExchangeToken bypass through lack of cross-organization JWT signature check | Critical | Also affects github.com/casdoor/casdoor |
| GHSA-3w4h-g9f5-j84p Casdoor does not validate the AudienceRestriction element in SAML assertions | Critical | Also affects github.com/casdoor/casdoor |
| GHSA-gv4m-v8c8-hr3g Casdoor allows users to bypass configured MFA requirements | Medium | Also affects github.com/casdoor/casdoor |
| GHSA-fwgq-j9r9-qjgr Casdoor has an authentication bypass | Critical | Also affects github.com/casdoor/casdoor |
| GHSA-rmxx-v9rj-vpvg Casdoor: Arbitrary file write possible through Local File System storage provider | Medium | Also affects github.com/casdoor/casdoor |
| GHSA-p8c7-hjc4-gwf8 Casdoor vulnerable to SSRF via crafted Webhook URL | High | Also affects github.com/casdoor/casdoor |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor