/

CVE-2026-51893

Severity:

CRITICAL RISK

(9.8)

Access Control Flaw (CWE-284) in RAGFlow trace_mindmap

CVE-2026-51893

Deferred

Vulnerability type

Category:

Incorrect Access Control

CWE:

CWE-284

Impact:

Unauthorized Data Access

Severity:

CRITICAL RISK

(9.8)

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 critical incorrect access control vulnerability in RAGFlow's trace_mindmap functionality may allow an externally reachable request to access data associated with a caller-selected object or tenant identifier. The issue becomes risky when the endpoint does not verify ownership, tenant membership, workspace access, or another authorization relationship before performing the data-access operation.

A critical incorrect access control vulnerability in RAGFlow's trace_mindmap functionality may allow an externally reachable request to access data associated with a caller-selected object or tenant identifier. The issue becomes risky when the endpoint does not verify ownership, tenant membership, workspace access, or another authorization relationship before performing the data-access operation.

Affected context

The vulnerability affects RAGFlow deployments exposing the trace_mindmap functionality through an externally reachable interface. It may be present where request-supplied object or tenant identifiers are accepted and passed to data-access logic without a corresponding authorization check that binds the requested resource to the authenticated caller's tenant, workspace, ownership, or membership context.

The vulnerability affects RAGFlow deployments exposing the trace_mindmap functionality through an externally reachable interface. It may be present where request-supplied object or tenant identifiers are accepted and passed to data-access logic without a corresponding authorization check that binds the requested resource to the authenticated caller's tenant, workspace, ownership, or membership context.

Exploit preconditions

  • Attack surface: Externally reachable trace_mindmap request path
  • Required access: Ability to reach the endpoint; authentication requirements may depend on deployment configuration
  • Trigger point: A request that supplies or influences an object or tenant identifier
  • Why exploitation is possible: The selected identifier can reach a data-access operation without a visible authorization binding to the caller
  • Attack surface: Externally reachable trace_mindmap request path
  • Required access: Ability to reach the endpoint; authentication requirements may depend on deployment configuration
  • Trigger point: A request that supplies or influences an object or tenant identifier
  • Why exploitation is possible: The selected identifier can reach a data-access operation without a visible authorization binding to the caller

Why this happens

The underlying bug is an authorization design failure in which resource selection is treated as sufficient proof of access. The application appears to accept a caller-controlled object or tenant identifier and perform a lookup without enforcing an ownership, tenant, workspace, or membership relationship. This behavior maps to CWE-284, Incorrect Access Control, because access decisions are not consistently enforced at the point where protected data is retrieved.

The underlying bug is an authorization design failure in which resource selection is treated as sufficient proof of access. The application appears to accept a caller-controlled object or tenant identifier and perform a lookup without enforcing an ownership, tenant, workspace, or membership relationship. This behavior maps to CWE-284, Incorrect Access Control, because access decisions are not consistently enforced at the point where protected data is retrieved.

Potential impact

  • An attacker may access data belonging to another object, tenant, or workspace.
  • Confidential information could be disclosed across authorization boundaries.
  • An attacker could use returned data to support further account or tenant compromise.
  • Cross-tenant isolation could be weakened, depending on deployment and data-access behavior.
  • An attacker may access data belonging to another object, tenant, or workspace.
  • Confidential information could be disclosed across authorization boundaries.
  • An attacker could use returned data to support further account or tenant compromise.
  • Cross-tenant isolation could be weakened, depending on deployment and data-access behavior.

General mitigation guidance

Mitigation generally focuses on enforcing authorization at the data-access

boundary rather than trusting caller-supplied identifiers.

Common defensive patterns include:

  • Deriving tenant, workspace, and ownership context from the authenticated session where possible.
  • Applying object-level authorization checks for every requested resource.
  • Enforcing tenant and membership predicates in repository or query-layer operations.
  • Using deny-by-default policies for missing, ambiguous, or mismatched authorization context.
  • Limiting endpoint exposure and applying least-privilege service and database identities.
  • Avoiding response differences that disclose whether unauthorized resources exist.
  • Testing cross-tenant and cross-workspace isolation as part of application security validation.

Mitigation generally focuses on enforcing authorization at the data-access

boundary rather than trusting caller-supplied identifiers.

Common defensive patterns include:

  • Deriving tenant, workspace, and ownership context from the authenticated session where possible.
  • Applying object-level authorization checks for every requested resource.
  • Enforcing tenant and membership predicates in repository or query-layer operations.
  • Using deny-by-default policies for missing, ambiguous, or mismatched authorization context.
  • Limiting endpoint exposure and applying least-privilege service and database identities.
  • Avoiding response differences that disclose whether unauthorized resources exist.
  • Testing cross-tenant and cross-workspace isolation as part of application security validation.

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis and code review rules that flag direct use of request identifiers in data queries without nearby authorization checks.
  • Review of trace_mindmap handlers, service methods, and repository functions for explicit tenant, workspace, ownership, or membership enforcement.
  • Dynamic tests that submit valid identifiers belonging to other users or tenants and verify consistent denial behavior.
  • API policy checks requiring authenticated identity and resource-scope validation before protected data access.
  • Logging and monitoring for repeated identifier changes, cross-tenant access attempts, and authorization-denied events.

Automated code review and API security testing tools may help identify missing object-level authorization patterns.

Organizations can look for this class of issue through:

  • Static analysis and code review rules that flag direct use of request identifiers in data queries without nearby authorization checks.
  • Review of trace_mindmap handlers, service methods, and repository functions for explicit tenant, workspace, ownership, or membership enforcement.
  • Dynamic tests that submit valid identifiers belonging to other users or tenants and verify consistent denial behavior.
  • API policy checks requiring authenticated identity and resource-scope validation before protected data access.
  • Logging and monitoring for repeated identifier changes, cross-tenant access attempts, and authorization-denied events.

Automated code review and API security testing tools may help identify missing object-level authorization patterns.

Sources

SourceLink
gist.github.comgist.github.com/Ro1ME/79163b36f35460b266bc80120caf9da8

Frequently asked

questions

It may be remotely exploitable when the trace_mindmap path is externally

reachable and accepts attacker-controlled identifiers. Actual exploitability

depends on authentication, network exposure, and deployment-specific controls.

The attacker generally needs the ability to send requests to the affected

interface. Whether a valid account or session is required depends on the

application's endpoint and access configuration.

Enforce object-level authorization at the data-access boundary using the

authenticated caller's tenant, workspace, ownership, and membership context.

Do not treat a supplied object or tenant identifier as an authorization grant.

Use deny-by-default authorization, centralize policy enforcement, include

cross-tenant isolation tests, and monitor for access attempts involving

resources outside the caller's permitted scope.

It may be remotely exploitable when the trace_mindmap path is externally

reachable and accepts attacker-controlled identifiers. Actual exploitability

depends on authentication, network exposure, and deployment-specific controls.

The attacker generally needs the ability to send requests to the affected

interface. Whether a valid account or session is required depends on the

application's endpoint and access configuration.

Enforce object-level authorization at the data-access boundary using the

authenticated caller's tenant, workspace, ownership, and membership context.

Do not treat a supplied object or tenant identifier as an authorization grant.

Use deny-by-default authorization, centralize policy enforcement, include

cross-tenant isolation tests, and monitor for access attempts involving

resources outside the caller's permitted scope.

Find out what's already
exploitable in your codebase.