/

CVE-2026-68578

Severity:

HIGH RISK

(7.5)

Missing Authentication Binding (CWE-306) in ArcadeDB MCP

CVE-2026-68578

Deferred

Vulnerability type

Category:

Missing Authentication / Authorization Enforcement

CWE:

CWE-306

Impact:

Privilege Escalation to Unrestricted Database Access and Code Execution

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

ArcadeDB's MCP HTTP transport fails to correctly bind the authenticated principal to engine-level permission checks, causing authorization logic to be skipped.

Under these conditions, any MCP-allowed but non-root user can perform unrestricted database writes, schema changes, and execute arbitrary JavaScript via the query interface.

Affected context

The vulnerability occurs in ArcadeDB deployments using the MCP HTTP transport where authorization checks depend on a bound authenticated principal.

When the principal is not propagated into the engine's permission layer, the checks effectively become no-ops.

This primarily affects environments that:

  • Expose the MCP HTTP endpoint to multiple authenticated users
  • Rely on role-based restrictions for database writes or DDL
  • Use the query tool for executing JavaScript or dynamic queries

Exploit preconditions

  • Attack surface: MCP HTTP transport and its associated query endpoints.
  • Required access: Valid credentials for any MCP-allowed non-root user.
  • Trigger point: Issuing write, DDL, schema mutation, or JavaScript execution requests through MCP.
  • Why exploitation is possible: The authenticated principal is not bound into the engine's permission evaluation, so authorization checks default to allowing operations regardless of the caller's actual role.

Why this happens

This issue stems from incomplete enforcement of authentication and authorization in the request handling path.

The MCP HTTP transport authenticates users but fails to bind the resulting principal into the underlying engine's permission context.

As a result, authorization checks operate without a meaningful subject, mapping directly to CWE-306: Missing Authentication for Critical Function, in the sense that critical operations (writes, DDL, code execution) are effectively executed without proper identity-based verification.

Conceptually, the bug is an authorization bypass caused by missing principal propagation rather than explicit permission logic.

Potential impact

  • Non-root users may perform arbitrary database writes that could corrupt or overwrite critical data.
  • Users could alter or drop schemas, indexes, and constraints, impacting application stability and integrity.
  • Arbitrary JavaScript code may be executed via the query tool, potentially enabling server-side logic manipulation.
  • Separation-of-duties and least-privilege models can be undermined, allowing broad misuse of administrative capabilities.
  • Data integrity, confidentiality, and availability can be significantly compromised, especially in multi-tenant deployments.

General mitigation guidance

Effective mitigation focuses on ensuring that authentication information is consistently bound into authorization checks and that critical operations never run without a validated principal.

Common defensive patterns include:

  • Enforcing strict principal propagation from the transport layer into the engine's permission system.
  • Implementing centralized authorization middleware that validates the caller's identity before any write, DDL, or code-execution operation.
  • Applying least-privilege roles and restricting access to high-risk endpoints (such as query tools capable of running JavaScript).
  • Introducing defense-in-depth checks at multiple layers (transport, service, engine) so a single binding failure does not silently grant broad privileges.
  • Logging and auditing all critical operations with associated identity metadata to detect anomalies and misconfigurations early.

How teams detect issues like this

Detection efforts can focus on both configuration and behavior:

  • Reviewing code paths for MCP HTTP request handling to verify that an authenticated principal is passed into all permission checks.
  • Using static analysis or linters to flag authorization routines that operate without an explicit principal or role context.
  • Conducting targeted code reviews for critical database operations (DDL, schema mutations, JavaScript evaluation) to ensure they depend on verified identity and role data.
  • Monitoring runtime logs for non-root users performing administrative actions, which may indicate missing or faulty authorization enforcement.
  • Leveraging automated security testing tools that simulate requests from low-privilege accounts and verify that access controls behave as expected.

Sources

SourceLink
github.comgithub.com/ArcadeData/arcadedb/security/advisories/GHSA-6x73-v3rc-f57c
vulncheck.comvulncheck.com/advisories/arcadedb-authentication-bypass-via-mcp-transport

Frequently asked

questions

No. Any MCP-allowed non-root user can exploit the flaw because engine-level permission checks do not properly bind the authenticated principal, effectively elevating their capabilities.

An attacker needs valid credentials for a user that can connect via the MCP HTTP transport. Once authenticated, they can issue operations normally restricted to higher-privilege roles.

The safest approach is to ensure strict principal binding: every critical operation must be executed within the context of a verified identity and role, enforced by centralized authorization logic that the transport layer cannot bypass.

Design permission systems so that critical functions require an explicit, validated principal and role, perform security-focused code reviews of transport and authorization glue code, and apply automated checks that flag operations executed without identity-aware access control.

Find out what's already
exploitable in your codebase.