Summary
UnicomAI Wanwu contains an insecure direct object reference that may allow an authenticated, low-privileged user to delete applications belonging to other tenants by supplying another application's identifier. The risk arises when application ownership is not verified before deletion, potentially removing workflows, conversations, and associated data.
UnicomAI Wanwu contains an insecure direct object reference that may allow an authenticated, low-privileged user to delete applications belonging to other tenants by supplying another application's identifier. The risk arises when application ownership is not verified before deletion, potentially removing workflows, conversations, and associated data.
Affected context
The vulnerability affects deployments where authenticated users can reach the application deletion endpoint and application identifiers are accepted without a reliable authorization check. It is particularly relevant to multi-tenant environments in which agent or RAG applications, workflows, conversations, and related records should be isolated by tenant.
The vulnerability affects deployments where authenticated users can reach the application deletion endpoint and application identifiers are accepted without a reliable authorization check. It is particularly relevant to multi-tenant environments in which agent or RAG applications, workflows, conversations, and related records should be isolated by tenant.
Exploit preconditions
- Attack surface: Authenticated application-management API
- Required access: A valid account with low-level application-management access
- Trigger point: Application deletion request processing
- Required condition: The requester can provide or infer another application's identifier
- Why exploitation is possible: The service may identify the target by object ID without verifying that it belongs to the authenticated user's tenant
- Attack surface: Authenticated application-management API
- Required access: A valid account with low-level application-management access
- Trigger point: Application deletion request processing
- Required condition: The requester can provide or infer another application's identifier
- Why exploitation is possible: The service may identify the target by object ID without verifying that it belongs to the authenticated user's tenant
Why this happens
The underlying bug is an authorization failure in object-level access control. A user-controlled application identifier is used to select a deletion target, but the authorization decision is not consistently bound to the requesting user's tenant or permitted ownership scope. This behavior maps to CWE-639, Authorization Bypass Through User-Controlled Key, commonly called an insecure direct object reference.
The underlying bug is an authorization failure in object-level access control. A user-controlled application identifier is used to select a deletion target, but the authorization decision is not consistently bound to the requesting user's tenant or permitted ownership scope. This behavior maps to CWE-639, Authorization Bypass Through User-Controlled Key, commonly called an insecure direct object reference.
Potential impact
- An attacker may delete applications owned by other tenants.
- Workflows and conversations associated with targeted applications could be removed.
- Related application data may become unavailable or permanently lost.
- Tenant isolation and availability could be degraded.
- Operational recovery costs and disruption could increase.
- An attacker may delete applications owned by other tenants.
- Workflows and conversations associated with targeted applications could be removed.
- Related application data may become unavailable or permanently lost.
- Tenant isolation and availability could be degraded.
- Operational recovery costs and disruption could increase.
General mitigation guidance
Mitigation generally focuses on enforcing authorization at the object and tenant
boundaries for every read, update, and delete operation.
Common defensive patterns include:
- Deriving tenant and ownership scope from the authenticated session rather than request parameters.
- Performing server-side authorization checks before locating or deleting the target object.
- Using opaque, non-sequential identifiers as defense in depth, without treating them as authorization.
- Applying least-privilege permissions to application-management operations.
- Requiring explicit confirmation or additional safeguards for destructive actions.
- Preserving auditable deletion records and using recovery controls where appropriate.
- Testing cross-tenant access cases in automated authorization and integration tests.
Mitigation generally focuses on enforcing authorization at the object and tenant
boundaries for every read, update, and delete operation.
Common defensive patterns include:
- Deriving tenant and ownership scope from the authenticated session rather than request parameters.
- Performing server-side authorization checks before locating or deleting the target object.
- Using opaque, non-sequential identifiers as defense in depth, without treating them as authorization.
- Applying least-privilege permissions to application-management operations.
- Requiring explicit confirmation or additional safeguards for destructive actions.
- Preserving auditable deletion records and using recovery controls where appropriate.
- Testing cross-tenant access cases in automated authorization and integration tests.
How teams detect issues like this
Organizations commonly detect this class of issue through:
- Static analysis and review rules identifying destructive operations driven directly by request identifiers.
- Code review checks confirming tenant or ownership predicates are included in authorization queries.
- Dynamic tests that attempt access to objects belonging to a separate test tenant.
- API gateway or service policies requiring tenant context for object-management endpoints.
- Audit monitoring for repeated deletion attempts involving identifiers outside the caller's normal scope.
Automated security testing tools may help identify missing object-level authorization, but business-tenant relationships should also be validated through targeted tests.
Organizations commonly detect this class of issue through:
- Static analysis and review rules identifying destructive operations driven directly by request identifiers.
- Code review checks confirming tenant or ownership predicates are included in authorization queries.
- Dynamic tests that attempt access to objects belonging to a separate test tenant.
- API gateway or service policies requiring tenant context for object-management endpoints.
- Audit monitoring for repeated deletion attempts involving identifiers outside the caller's normal scope.
Automated security testing tools may help identify missing object-level authorization, but business-tenant relationships should also be validated through targeted tests.

