/

CVE-2026-63163

Severity:

HIGH RISK

(7.5)

Broken Access Control (CWE-639) in Agora Downloads

CVE-2026-63163

Deferred

Vulnerability type

Category:

Broken Access Control

CWE:

CWE-639

Impact:

Unauthorized Information Disclosure

Severity:

HIGH RISK

(7.5)

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

Omnispace Agora Project contains a broken access control vulnerability in the MobileFileDownload route. An unauthenticated attacker who knows or can infer a file name may compute its MD5-derived token and download the corresponding protected file without authorization.

Omnispace Agora Project contains a broken access control vulnerability in the MobileFileDownload route. An unauthenticated attacker who knows or can infer a file name may compute its MD5-derived token and download the corresponding protected file without authorization.

Affected context

The issue occurs in deployments using the MobileFileDownload route when access to protected files is granted based on an MD5 value derived from the file name rather than a server-side authorization decision. Risk is higher when file names are predictable, discoverable, or exposed through application behavior, logs, links, or other metadata.

The issue occurs in deployments using the MobileFileDownload route when access to protected files is granted based on an MD5 value derived from the file name rather than a server-side authorization decision. Risk is higher when file names are predictable, discoverable, or exposed through application behavior, logs, links, or other metadata.

Exploit preconditions

  • Attack surface: The MobileFileDownload endpoint or an equivalent file-serving route
  • Required access: No authenticated account may be required
  • Trigger point: A request containing a file identifier or token derived from a file name
  • Why exploitation is possible: The token can be computed from a known or guessed file name and is not a substitute for verifying the requester's authorization to access the file
  • Attack surface: The MobileFileDownload endpoint or an equivalent file-serving route
  • Required access: No authenticated account may be required
  • Trigger point: A request containing a file identifier or token derived from a file name
  • Why exploitation is possible: The token can be computed from a known or guessed file name and is not a substitute for verifying the requester's authorization to access the file

Why this happens

The vulnerability results from confusing an object identifier or deterministic file-name hash with an authorization credential. When the server accepts an MD5-derived token as sufficient evidence of permission, any party able to determine the underlying file name may reproduce that token. This behavior maps to CWE-639: Authorization Bypass Through User-Controlled Key, because access control is effectively determined by a user-influenced object reference rather than an independent server-side permission check.

The vulnerability results from confusing an object identifier or deterministic file-name hash with an authorization credential. When the server accepts an MD5-derived token as sufficient evidence of permission, any party able to determine the underlying file name may reproduce that token. This behavior maps to CWE-639: Authorization Bypass Through User-Controlled Key, because access control is effectively determined by a user-influenced object reference rather than an independent server-side permission check.

Potential impact

  • Unauthorized parties may download protected files
  • Sensitive personal, business, or operational information could be disclosed
  • Exposed files may support further account, application, or infrastructure attacks
  • Repeated access could enable bulk data harvesting or privacy violations
  • Unauthorized parties may download protected files
  • Sensitive personal, business, or operational information could be disclosed
  • Exposed files may support further account, application, or infrastructure attacks
  • Repeated access could enable bulk data harvesting or privacy violations

General mitigation guidance

Mitigation generally focuses on separating file identification from authorization decisions.

Common defensive patterns include:

  • Enforcing an authenticated, server-side authorization check for every protected file request
  • Using opaque, non-derivable identifiers that do not encode file names or permissions
  • Avoiding deterministic hashes of user-controlled or discoverable values as access tokens
  • Applying least-privilege access policies to file storage and download services
  • Limiting download scope, rate, and response metadata where appropriate
  • Preventing direct exposure of storage paths and validating requested objects against the caller's permitted scope

Mitigation generally focuses on separating file identification from authorization decisions.

Common defensive patterns include:

  • Enforcing an authenticated, server-side authorization check for every protected file request
  • Using opaque, non-derivable identifiers that do not encode file names or permissions
  • Avoiding deterministic hashes of user-controlled or discoverable values as access tokens
  • Applying least-privilege access policies to file storage and download services
  • Limiting download scope, rate, and response metadata where appropriate
  • Preventing direct exposure of storage paths and validating requested objects against the caller's permitted scope

How teams detect issues like this

Detection can include static analysis and code review for download routes that derive authorization tokens from file names, accept deterministic hashes as credentials, or omit explicit ownership and permission checks. Dynamic testing can compare access behavior for authenticated and unauthenticated requests, including requests using guessed object identifiers. Policy enforcement may require every protected resource endpoint to invoke a centralized authorization service or equivalent access-control middleware. Automated application security testing and code review tools can help identify predictable identifiers and missing authorization checks.

Detection can include static analysis and code review for download routes that derive authorization tokens from file names, accept deterministic hashes as credentials, or omit explicit ownership and permission checks. Dynamic testing can compare access behavior for authenticated and unauthenticated requests, including requests using guessed object identifiers. Policy enforcement may require every protected resource endpoint to invoke a centralized authorization service or equivalent access-control middleware. Automated application security testing and code review tools can help identify predictable identifiers and missing authorization checks.

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-mobilefiledownload

Frequently asked

questions

Yes, it may be remotely exploitable through the exposed MobileFileDownload route when the endpoint is reachable and does not require effective authentication or authorization.

The described condition does not require an authenticated account. An attacker generally needs only the ability to reach the download route and know or infer a valid file name or related identifier.

Perform a server-side authorization check for every requested file and use an opaque resource reference that cannot be generated from a file name.

Review all object-serving endpoints for missing authorization checks, test access with different user roles, avoid predictable security tokens, and enforce centralized authorization policies in code review and automated testing.

Yes, it may be remotely exploitable through the exposed MobileFileDownload route when the endpoint is reachable and does not require effective authentication or authorization.

The described condition does not require an authenticated account. An attacker generally needs only the ability to reach the download route and know or infer a valid file name or related identifier.

Perform a server-side authorization check for every requested file and use an opaque resource reference that cannot be generated from a file name.

Review all object-serving endpoints for missing authorization checks, test access with different user roles, avoid predictable security tokens, and enforce centralized authorization policies in code review and automated testing.

Find out what's already
exploitable in your codebase.