CVE-2026-9094: Casdoor: GetTokenExchangeToken bypass through lack of cross-organization JWT signature check
Casdoor versions 2.362.0 and earlier contain a vulnerability enabling cross-organization token exchange. The GetTokenExchangeToken function in object/tokenoauth.go validates JWT signatures but does not verify that the token's user belongs to the same organization as the target application. This can result in privilege escalation across organizational boundaries.
Published May 28, 2026 · Updated Jul 9, 2026
Affected packages
github.com/casdoor/casdoor
- Ecosystem
- Go
- Affected
- < 2.387.0
- Fixed in
- 2.387.0
- Check
go list -m github.com/casdoor/casdoor
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Casdoor versions 2.362.0 and earlier contain a vulnerability enabling cross-organization token exchange. The GetTokenExchangeToken function in object/token_oauth.go validates JWT signatures but does not verify that the token's user belongs to the same organization as the target application. This can result in privilege escalation across organizational boundaries.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More Go vulnerabilities
All Go entriesCVE-2026-9090
Casdoor has an authentication bypass
critical9.1No fixMay 28, 2026CVE-2026-9093
Casdoor does not validate the AudienceRestriction element in SAML assertions
critical9.8No fixMay 28, 2026CVE-2026-9097
Casdoor doesn't verify that a JWT used for token exchange is still active
critical9.8No fixMay 28, 2026CVE-2026-9098
Casdoor SAML callback handler accepts any well-formed SAMLResponse sent to /api/acs without verifying that it corresponds to an AuthnRequest
critical9.1No fixMay 28, 2026
