PT-2026-64160 · Casdoor · Casdoor

CVE-2026-15630

·

Published

2026-07-23

·

Updated

2026-09-03

CVSS v3.1

9.9

Critical

VectorAV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions Casdoor versions prior to 3.115.1
Description An authorization bypass exists in multi-tenant deployments due to a synchronization failure between the authorization layer and the controller layer. A non-global organization administrator can bypass tenant boundaries to delete, create, or modify resources in other tenants. The issue occurs because the global authorization filter in routers/authzfilter.go uses the id URL query parameter to validate permissions, while downstream controllers, such as controllers/user.go, ignore this parameter and instead use the owner and name fields from the JSON request body to identify the target object. This allows an attacker to authorize an action for their own organization via the id parameter but execute it against a different organization by specifying a different owner in the request body.
Affected API endpoints include:
  • '/api/add-user'
  • '/api/delete-user'
  • '/api/add-permission'
Recommendations Update to a version later than 3.115.0. Deploy a WAF rule to block requests where the owner field in the JSON body does not match the organization context derived from the authenticated session or the id parameter.

Exploit

Fix

IDOR

Improper Privilege Management

Incorrect Authorization

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-15630

Affected Products

Casdoor