/

CVE-2026-63174

Severity:

HIGH RISK

(8.1)

Broken Access Control (CWE-862) in Agora Space Import

CVE-2026-63174

Deferred

Vulnerability type

Category:

Broken Access Control

CWE:

CWE-862

Impact:

Unauthorized cross-space user assignment and tenant-isolation bypass

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

A broken access control flaw in Omnispace Agora Project allows a space administrator to assign users to spaces outside the administrator's authorized scope. The issue becomes risky when the import flow creates space assignments without checking the caller's rights to the target space, potentially weakening tenant isolation.

A broken access control flaw in Omnispace Agora Project allows a space administrator to assign users to spaces outside the administrator's authorized scope. The issue becomes risky when the import flow creates space assignments without checking the caller's rights to the target space, potentially weakening tenant isolation.

Affected context

The vulnerability occurs in the spaceAffectList import flow, specifically when a join INSERT creates or updates a user-to-space assignment. It may be present when the flow does not verify the caller's read or equivalent authorization rights for the target space before applying the assignment.

The vulnerability occurs in the spaceAffectList import flow, specifically when a join INSERT creates or updates a user-to-space assignment. It may be present when the flow does not verify the caller's read or equivalent authorization rights for the target space before applying the assignment.

Exploit preconditions

  • Attack surface: The spaceAffectList import and join INSERT functionality - Required access: A valid space administrator account or another identity

permitted to invoke the import flow

  • Trigger point: Processing an assignment that references a target space outside the caller's authorized scope - Why exploitation is possible: The import path performs the affectation

without first enforcing the required readRight() authorization check

  • Attack surface: The spaceAffectList import and join INSERT functionality - Required access: A valid space administrator account or another identity

permitted to invoke the import flow

  • Trigger point: Processing an assignment that references a target space outside the caller's authorized scope - Why exploitation is possible: The import path performs the affectation

without first enforcing the required readRight() authorization check

Why this happens

The underlying bug is an authorization decision missing from a state-changing import operation. The application accepts a user-space assignment based on the submitted target space but does not verify that the caller is entitled to access or administer that space. This behavior maps to CWE-862, Missing Authorization, because a protected operation can proceed without an effective permission check at the point where access is granted.

The underlying bug is an authorization decision missing from a state-changing import operation. The application accepts a user-space assignment based on the submitted target space but does not verify that the caller is entitled to access or administer that space. This behavior maps to CWE-862, Missing Authorization, because a protected operation can proceed without an effective permission check at the point where access is granted.

Potential impact

  • An attacker may assign users to unauthorized spaces.
  • Tenant boundaries could be weakened or bypassed.
  • Unauthorized users could gain access to space-scoped data or functions.
  • Administrative records and user-space memberships could be manipulated.
  • Cross-tenant exposure or operational disruption could occur.
  • An attacker may assign users to unauthorized spaces.
  • Tenant boundaries could be weakened or bypassed.
  • Unauthorized users could gain access to space-scoped data or functions.
  • Administrative records and user-space memberships could be manipulated.
  • Cross-tenant exposure or operational disruption could occur.

General mitigation guidance

Mitigation generally centers on enforcing authorization at every state-changing assignment boundary. The import flow should validate the caller's rights against the specific target space before creating or changing memberships, rather than relying on earlier UI or workflow checks. Secure defaults should deny assignments when the target space or caller scope cannot be resolved, and authorization should be based on server-side identity and tenant context rather than submitted identifiers. Least-privilege roles, consistent policy enforcement across create and update paths, and audit logging for cross-scope assignment attempts can further reduce exposure.

Mitigation generally centers on enforcing authorization at every state-changing assignment boundary. The import flow should validate the caller's rights against the specific target space before creating or changing memberships, rather than relying on earlier UI or workflow checks. Secure defaults should deny assignments when the target space or caller scope cannot be resolved, and authorization should be based on server-side identity and tenant context rather than submitted identifiers. Least-privilege roles, consistent policy enforcement across create and update paths, and audit logging for cross-scope assignment attempts can further reduce exposure.

How teams detect issues like this

Detection can include static analysis and code review checks for database inserts or updates involving memberships that lack a nearby authorization decision. Reviewers can look for imported tenant or space identifiers being trusted directly, authorization checks implemented only in client code, and inconsistent enforcement between interactive and bulk-import paths. Runtime monitoring can flag assignments where the caller's tenant or administrative scope differs from the target space, while policy tests can verify deny-by- default behavior for cross-scope operations. Automated security review tools may help identify missing authorization checks, but findings should be validated against the application's permission model.

Detection can include static analysis and code review checks for database inserts or updates involving memberships that lack a nearby authorization decision. Reviewers can look for imported tenant or space identifiers being trusted directly, authorization checks implemented only in client code, and inconsistent enforcement between interactive and bulk-import paths. Runtime monitoring can flag assignments where the caller's tenant or administrative scope differs from the target space, while policy tests can verify deny-by- default behavior for cross-scope operations. Automated security review tools may help identify missing authorization checks, but findings should be validated against the application's permission model.

Sources

SourceLink
github.comgithub.com/xech/agora-project/releases/tag/26.10
agora-project.netagora-project.net/
vulncheck.comvulncheck.com/advisories/omnispace-agora-project-broken-access-control-via-spaceaffectlist

Frequently asked

questions

It may be exploitable through an exposed import flow by an authenticated

space administrator, depending on deployment access controls and whether the

endpoint is reachable.

The described path requires an identity that can invoke the affected

functionality, such as a space administrator. The flaw may allow that

identity to act beyond its intended space scope.

Perform a server-side authorization check for the caller and the specific

target space before every membership assignment, including bulk and import

operations.

Centralize authorization policies, enforce tenant and resource-scope checks at

the service layer, test deny cases for cross-space operations, and monitor

membership changes for anomalous scope transitions.

It may be exploitable through an exposed import flow by an authenticated

space administrator, depending on deployment access controls and whether the

endpoint is reachable.

The described path requires an identity that can invoke the affected

functionality, such as a space administrator. The flaw may allow that

identity to act beyond its intended space scope.

Perform a server-side authorization check for the caller and the specific

target space before every membership assignment, including bulk and import

operations.

Centralize authorization policies, enforce tenant and resource-scope checks at

the service layer, test deny cases for cross-space operations, and monitor

membership changes for anomalous scope transitions.

Find out what's already
exploitable in your codebase.