Skip to content
OpenAdvisories

Vendor

surrealdb

77 known vulnerabilities.

22 results · Clear filters · Feed

  • High 8.1

    SurrealDB 3.1.0 before 3.3.0 MCP Session Hijack via BoundSubject Collision

    SurrealDB from 3.1.0 before 3.3.0 contains an improper authentication vulnerability where the MCP BoundSubject fingerprint uses the access method name instead of per-user identity for JWT/Bearer access. Attackers with a valid low-privilege token for the same …

  • High 7.8

    SurrealDB before 3.3.0 Use-After-Free via affinitypool spawn_local in KV Backends

    SurrealDB before 3.3.0 contains a use-after-free vulnerability in surrealdb-core KV backends that pass borrowed transaction state into affinitypool::spawn_local closures relying on future Drop for safety. Rust embedders that leak a dispatched future (e.g. via…

  • High 7.1

    SurrealDB 2.0.0 before 3.3.1 deny-funcs Capability Bypass via Method-Style Invocations

    SurrealDB 2.0.0 before 3.3.1 does not enforce --deny-funcs restrictions on method-style function calls in the streaming engine, because MethodPart::evaluate invokes resolved functions without a capability check. Authenticated users who can submit queries can …

  • High 8.1

    SurrealDB before 3.3.0 Cross-Tenant Access via USE Statement

    SurrealDB before 3.3.0 allows cross-tenant access because the SurrealQL USE statement switches a session to any namespace/database without checking that the caller's authenticated level covers it. Authenticated namespace, database, or record users can switch …

  • High 7.1

    SurrealDB before 3.3.0 Field Permission Bypass via PATCH copy/move/test Operations

    SurrealDB before 3.3.0 contains an authorization bypass vulnerability that allows callers with table-level write permission to read SELECT-restricted fields by resolving JSON Patch pointers against the unreduced record. Attackers can use PATCH copy or move op…

  • High 8.1

    SurrealDB before 3.3.0 Cross-Tenant Access via Surreal-NS/Surreal-DB Headers and RPC use

    SurrealDB before 3.3.0 does not check the caller-selected namespace or database against the level at which a namespace- or database-level system user authenticated, allowing cross-tenant access. An authenticated attacker can set the Surreal-NS/Surreal-DB head…

  • High 8.1

    SurrealDB before 3.3.0 Cross-Tenant Access via Headers

    SurrealDB before 3.3.0 contains an authorization bypass in HTTP session construction where check_auth() verifies credentials against Surreal-Auth-NS and Surreal-Auth-DB headers but constructs sessions using Surreal-NS and Surreal-DB headers without validating…

  • High 7.5

    SurrealDB before 2.5.0 Privilege Escalation via Future Fields

    SurrealDB before 2.5.0 and before 3.0.0-beta.3 contains a confused deputy privilege escalation vulnerability. Unprivileged users (e.g., those with the database editor role) can create or modify fields containing futures, functions, or closures. Because these …

  • High 7.5

    SurrealDB before 3.1.0 Denial of Service via JSON Parser

    SurrealDB before 3.1.0 fails to enforce the configured recursion depth limit in the value and JSON parser when processing nested braces, brackets, or parentheses. Unauthenticated attackers can send deeply nested JSON payloads to the WebSocket /rpc endpoint to…

  • High 8.8

    SurrealDB before 3.1.0 Session Hijacking via /rpc sessions

    SurrealDB versions before 3.1.0 contain a session hijacking vulnerability where the HTTP /rpc sessions method returns attached session UUIDs without authentication and accepts arbitrary session fields with no ownership verification. Unauthenticated attackers …

  • High 8.1

    SurrealDB before 3.1.0 Privilege Escalation via RPC Session Race Condition

    SurrealDB versions before 3.1.0 contain a time-of-check/time-of-use race condition in the HTTP /rpc endpoint that allows unauthenticated requests to inherit authenticated session state. Unauthenticated attackers can send concurrent requests to the /rpc endpoi…

  • High 7.5

    SurrealDB before 3.1.0 Denial of Service via malformed RPC use

    SurrealDB versions before 3.1.0 contain a denial of service vulnerability in the RPC use handler that panics when db is set without a namespace. Unauthenticated attackers can send a malformed WebSocket message to the /rpc endpoint to crash the server process.

  • High 7.7

    SurrealDB before 3.1.5 Arbitrary File Read via DEFINE ANALYZER

    SurrealDB before 3.1.5 contains an arbitrary file read vulnerability in the DEFINE ANALYZER mapper filter that allows database users with EDITOR or OWNER roles to read files accessible to the SurrealDB process. Attackers can specify arbitrary file paths in th…

  • High 8.1

    SurrealDB before 3.2.0 Authentication Bypass via Custom API

    SurrealDB versions before 3.2.0 fail to validate namespace and database scope in custom API routes, allowing authenticated users to invoke endpoints in different namespaces/databases. Attackers with valid credentials for any namespace/database can access cust…

  • High 7.1

    SurrealDB before 2.2.2 CPU Exhaustion via nested FOR loops

    SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 allows authenticated users with OWNER or EDITOR permissions (at the root, namespace, or database level) to define custom database functions via DEFINE FUNCTION using nested FOR loops. Although…

  • High 7.1

    SurrealDB before 2.2.2 Memory Exhaustion via string::replace

    SurrealDB versions before 2.2.2 contain a memory exhaustion vulnerability in the string::replace function that fails to restrict resulting string length when using regex patterns. An authenticated attacker can craft a malicious query to exhaust server memory …

  • High 7.1

    SurrealDB before 2.2.2 Denial of Service via /sql endpoint

    SurrealDB versions before 2.2.2 contain an uncaught exception vulnerability in the net module that allows authenticated users to crash the database. Attackers can send crafted HTTP queries containing null bytes to the /sql endpoint, causing an unhandled excep…

  • High 7.5

    SurrealDB before 1.1.0 Denial of Service via HTTP Headers

    SurrealDB versions before 1.1.0 fail to properly parse the ID, DB, and NS headers in HTTP REST API requests containing special characters. Unauthenticated attackers can send crafted HTTP requests with malformed header values to trigger an uncaught exception t…

  • High 7.1

    SurrealDB before 2.0.4 Improper Authorization via SELECT Permissions

    SurrealDB versions before 2.0.4 fail to properly enforce field permissions during SELECT, UPDATE, and DELETE operations, allowing authorized users to access unauthorized field values through various query techniques. Attackers can exploit SELECT VALUE operati…

  • High 8.5

    SurrealDB before 1.1.1 Format String via Scripting Functions

    SurrealDB before 1.1.1 contains a format string vulnerability in the rquickjs Exception::throw_type function when scripting is enabled. Attackers with scripting privileges can supply format string sequences in error inputs to read arbitrary memory or execute …

  • High 8.8

    SurrealDB before 1.5.5 Query Injection via RPC API

    SurrealDB before 1.5.5 (and 2.0.0-beta before 2.0.0-beta.3) accepts an arbitrary object in the signin and signup operations of the RPC API without recursively validating it for non-computed values. When a record access method defines a SIGNIN or SIGNUP query …

  • High 8.8

    SurrealDB before 1.0.1 Insecure Default Table Permissions

    SurrealDB before 1.0.1 sets default table permissions to FULL instead of NONE, allowing SELECT, CREATE, UPDATE, and DELETE operations on tables without explicit permissions. Attackers with database access or unauthenticated users on publicly exposed instances…