/

CVE-2026-108853

Severity:

HIGH RISK

(8.1)

IDOR (CWE-639) in UnicomAI Wanwu Application Deletion

CVE-2026-108853

Deferred

Vulnerability type

Category:

Insecure Direct Object Reference

CWE:

CWE-639

Impact:

Unauthorized cross-tenant application and data deletion

Severity:

HIGH RISK

(8.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

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.

Sources

SourceLink
github.comgithub.com/UnicomAI/wanwu
github.comgithub.com/UnicomAI/wanwu/blob/v0.6.2/internal/bff-service/service/appspace.go#L20-L58
github.comgithub.com/UnicomAI/wanwu/commit/13d0b225ec237d5a0b44730b2331efadaeb462a2
github.comgithub.com/UnicomAI/wanwu/releases/tag/v0.6.3
hackmd.iohackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/unicomai-wanwu-appspace-cross-owner-delete
vulncheck.comvulncheck.com/advisories/unicomai-wanwu-before-0.6.3-idor-via-delete-v1-appspace-app
hackmd.iohackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/cve-2026-108853-unicomai-wanwu-appspace-cross-owner-delete

Frequently asked

questions

Exploitation generally requires an authenticated account that can reach the application deletion function. The account may not need administrative privileges if object-level authorization is missing.

No. The vulnerability depends on the server accepting a supplied identifier without verifying that the target belongs to the requester's authorized tenant or scope.

Enforce server-side object-level authorization for every destructive request, binding the target object to the authenticated user's tenant and permitted ownership context before deletion.

Use centralized authorization checks, avoid trusting client-supplied ownership fields, test cross-tenant access paths, monitor destructive actions, and apply least privilege to management APIs.

Exploitation generally requires an authenticated account that can reach the application deletion function. The account may not need administrative privileges if object-level authorization is missing.

No. The vulnerability depends on the server accepting a supplied identifier without verifying that the target belongs to the requester's authorized tenant or scope.

Enforce server-side object-level authorization for every destructive request, binding the target object to the authenticated user's tenant and permitted ownership context before deletion.

Use centralized authorization checks, avoid trusting client-supplied ownership fields, test cross-tenant access paths, monitor destructive actions, and apply least privilege to management APIs.

Find out what's already
exploitable in your codebase.