Summary
ThinkCMF through version 8.0.1 contains an incorrect authorization flaw in RestAdminBaseController. A restricted backend administrator with a valid admin-type API token may access administrative REST endpoints, expose member contact data, disable members, and grant full administrator privileges when authorization rules are absent.
ThinkCMF through version 8.0.1 contains an incorrect authorization flaw in RestAdminBaseController. A restricted backend administrator with a valid admin-type API token may access administrative REST endpoints, expose member contact data, disable members, and grant full administrator privileges when authorization rules are absent.
Affected context
The vulnerability occurs in ThinkCMF deployments that use the affected administrative REST API controller and rely on Auth::check() to enforce endpoint permissions. Risk is present when a restricted administrator possesses a valid admin-type API token and an endpoint does not have a corresponding admin_api authorization rule, causing the authorization check to fail open.
The vulnerability occurs in ThinkCMF deployments that use the affected administrative REST API controller and rely on Auth::check() to enforce endpoint permissions. Risk is present when a restricted administrator possesses a valid admin-type API token and an endpoint does not have a corresponding admin_api authorization rule, causing the authorization check to fail open.
Exploit preconditions
- Attack surface: ThinkCMF administrative REST API endpoints
- Required access: A valid API token associated with a restricted backend administrator
- Trigger point: Requests routed through
RestAdminBaseControllerfor endpoints lacking an applicableadmin_apirule - Why exploitation is possible: The authorization logic permits access when no matching authorization rule exists, allowing restricted administrators to invoke functions outside their intended privileges
- Attack surface: ThinkCMF administrative REST API endpoints
- Required access: A valid API token associated with a restricted backend administrator
- Trigger point: Requests routed through
RestAdminBaseControllerfor endpoints lacking an applicableadmin_apirule - Why exploitation is possible: The authorization logic permits access when no matching authorization rule exists, allowing restricted administrators to invoke functions outside their intended privileges
Why this happens
The underlying bug is an incorrect authorization decision caused by fail-open behavior. When Auth::check() cannot find an applicable admin_api rule, the request is treated as authorized instead of being denied by default. This maps to CWE-863: Incorrect Authorization, because access controls do not correctly constrain authenticated users to the permissions assigned to their role.
The underlying bug is an incorrect authorization decision caused by fail-open behavior. When Auth::check() cannot find an applicable admin_api rule, the request is treated as authorized instead of being denied by default. This maps to CWE-863: Incorrect Authorization, because access controls do not correctly constrain authenticated users to the permissions assigned to their role.
Potential impact
- Restricted administrators may access unauthorized administrative REST API functions
- Member email addresses and mobile numbers could be disclosed
- Member accounts may be disabled without appropriate authorization
- An attacker could grant themselves full administrator privileges
- Administrative data and application configuration could be altered
- The application could experience broader compromise through privilege escalation
- Restricted administrators may access unauthorized administrative REST API functions
- Member email addresses and mobile numbers could be disclosed
- Member accounts may be disabled without appropriate authorization
- An attacker could grant themselves full administrator privileges
- Administrative data and application configuration could be altered
- The application could experience broader compromise through privilege escalation
General mitigation guidance
Mitigation generally focuses on making authorization deny by default and ensuring every administrative endpoint has an explicit permission decision.
Common defensive patterns include:
- Treating missing, malformed, or ambiguous authorization rules as denied
- Defining explicit permission mappings for every administrative REST endpoint and HTTP method
- Separating authentication from authorization and validating role capabilities at the controller boundary
- Limiting API tokens to the minimum operations required by their assigned administrator role
- Avoiding broad administrative permissions for restricted backend accounts
- Protecting sensitive member data with additional field-level access controls
- Auditing privilege-changing operations and requiring strong administrative safeguards
Mitigation generally focuses on making authorization deny by default and ensuring every administrative endpoint has an explicit permission decision.
Common defensive patterns include:
- Treating missing, malformed, or ambiguous authorization rules as denied
- Defining explicit permission mappings for every administrative REST endpoint and HTTP method
- Separating authentication from authorization and validating role capabilities at the controller boundary
- Limiting API tokens to the minimum operations required by their assigned administrator role
- Avoiding broad administrative permissions for restricted backend accounts
- Protecting sensitive member data with additional field-level access controls
- Auditing privilege-changing operations and requiring strong administrative safeguards
How teams detect issues like this
Organizations can identify similar authorization flaws through:
- Static analysis and code review searches for authorization checks that return success when rules are missing
- Review of controller dispatch logic for default-allow behavior
- Endpoint-to-permission coverage checks that identify routes without explicit authorization mappings
- Negative authorization tests confirming restricted roles receive denial responses for administrative functions
- Monitoring for unusual access to member data, account-disabling actions, and role authorization changes
- Policy enforcement requiring authorization tests for every administrative API endpoint
Automated security review tools may help flag fail-open authorization patterns, but endpoint behavior should also be verified with role-based integration tests.
Organizations can identify similar authorization flaws through:
- Static analysis and code review searches for authorization checks that return success when rules are missing
- Review of controller dispatch logic for default-allow behavior
- Endpoint-to-permission coverage checks that identify routes without explicit authorization mappings
- Negative authorization tests confirming restricted roles receive denial responses for administrative functions
- Monitoring for unusual access to member data, account-disabling actions, and role authorization changes
- Policy enforcement requiring authorization tests for every administrative API endpoint
Automated security review tools may help flag fail-open authorization patterns, but endpoint behavior should also be verified with role-based integration tests.

