Skip to content

SurrealDB bug bounty programs

surrealdb.com Updated

SurrealDB runs one public program: a Sorona bug bounty paying up to $1,500.

Top reward
$1,500
Sorona
Programs
1
1 pays cash
Targets in scope
13
2 types
Last change
None yet
Tracked since Nov 2026

Where to report

The one public program SurrealDB runs.

Amounts are the top reward per severity in the currency each program pays. First response is the platform's measured average when it publishes one, else what the policy promises.

What is in scope

13 targets. 6 excluded.

  • https://surrealdb.com

    Web

  • Authentication in full, covering root, namespace, database and record users, the signin and signup flows, and session lifetime

    Products and areas

  • Custom API routes and the machinery that lets a definition specify the namespace and database a request runs against

    Products and areas

  • Embedded scripting functions and the boundary between them and the host process

    Products and areas

  • Graph traversal and record links, where a query reaches a record through a relationship rather than by selecting it directly

    Products and areas

  • Import, export and backup handling, plus the CLI and the embedded library builds that share the same core

    Products and areas

  • Live queries and change feeds, and whether a subscriber keeps receiving rows it has lost the right to see

    Products and areas

  • SurrealQL parsing and execution, including parameter binding, subqueries and the places a value can become syntax

    Products and areas

  • The HTTP REST surface, the RPC and WebSocket protocol, and any difference in how the two enforce the same check

    Products and areas

  • The permission model end to end: table, field and record-level PERMISSIONS clauses, and every place a clause is evaluated for a read, a write or a delete

    Products and areas

  • The published policy asks for any security issue privately by email or GitHub advisory and promises acknowledgement, confidentiality, safe harbour and credit in return. It names no assets and carves nothing out, so the SurrealDB tree itself is the boundary

    Products and areas

  • The storage engine layer as SurrealDB drives it, covering the in-memory, RocksDB, SurrealKV and TiKV backends

    Products and areas

  • Token handling: JWT verification, the algorithms accepted, JWKS fetching and caching, and the claims a token is trusted to assert

    Products and areas

No target matches. Try part of a host name, such as the company name.

Out of scope 6

Don't test these. A program can exclude a host another program covers; the program you report to decides.

  • A deployment where an operator handed out root credentials or ran without authentication, which is a configuration decision

  • Client SDKs maintained in their own repositories, where the defect is in the binding rather than the server

  • Parser crashes already surfaced by the project's OSS-Fuzz integration, which will close as duplicates

  • Resource exhaustion from an expensive query, absent an amplification factor that makes it a genuine denial of service

  • surrealdb/surrealml and other satellite repositories. The model format library is a separate project from the core database

  • Upstream storage engine defects in RocksDB or TiKV, unless SurrealDB's own use of them is what makes the issue reachable

Recent changes

Reward and scope changes across every SurrealDB program, newest first.

No changes recorded yet. New targets and reward moves show up here and in the RSS feed.

Recent CVEs

Published vulnerabilities in SurrealDB products, from the NVD.

Search NVD
  • 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 are executed in the context of the invoking/querying user rather than their creator, an attacker can plant malicious logic that executes with

  • CVE-2026-63756 Critical

    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 endpoint while legitimate authenticated traffic is active to execute operations with hijacked user privileges.

  • 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 can enumerate session UUIDs and impersonate authenticated sessions to read, write, delete data and escalate privileges.

  • SurrealDB versions before 3.1.0 contain an authorization bypass vulnerability in the KILL statement that allows authenticated database users to terminate other users' LIVE SELECT subscriptions. Attackers can issue KILL statements with target live query UUIDs to disrupt real-time data subscriptions of other users without ownership verification.

  • SurrealDB before 3.1.0 fails to enforce recursion depth limits in the type/kind parser when processing nested type annotations. Authenticated attackers can send queries with deeply nested type annotations to exhaust server memory and crash the process.

  • 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 exhaust server memory and crash the process.

  • SurrealDB before 3.1.0 silently substitutes the ES384 algorithm when a JWT access method is configured with ALGORITHM ES512 (DEFINE ACCESS ... TYPE JWT ALGORITHM ES512), because the underlying jsonwebtoken crate (v10.x) has no ES512 variant and the mapping defaults to ES384 without any error, warning, or log message. Users who supply the correct P-521 key for ES512 experience authentication handsh

  • SurrealDB before v2.6.1 (and before v3.0.0-beta.3) contains a denial of service vulnerability in its embedded JavaScript scripting engine, which is enabled via the --allow-scripting capability (disabled by default). Any user able to execute arbitrary queries — including unauthenticated guests when --allow-guests is enabled — can use built-in string functions to construct a large string and pass it

About this page

This page gathers every public program listed under surrealdb.com: platform programs, self-hosted policies and security.txt contacts. Each program's own policy decides what is in scope and what it pays; check it before you test.

Something wrong or missing? Report a correction.