Skip to main content

SurrealDB CVE-2026-63759

| EUVDEUVD-2026-45930 HIGH
Uncontrolled Recursion (CWE-674)
2026-07-20 disclosure@vulncheck.com GHSA-56pq-53x9-mxc4
7.1
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.5 MEDIUM

Network-reachable query endpoint (AV:N/AC:L), requires an authenticated query user (PR:L), no user interaction; impact is availability-only crash (A:H) with no confidentiality or integrity loss.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

4
Patch available
Jul 20, 2026 - 15:33 EUVD
Source Code Evidence Fetched
Jul 20, 2026 - 12:38 vuln.today
Analysis Generated
Jul 20, 2026 - 12:38 vuln.today
CVE Published
Jul 20, 2026 - 12:19 cve.org
HIGH 7.1

DescriptionCVE.org

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.

AnalysisAI

Denial of service in SurrealDB before 3.1.0 lets an authenticated user with query-execution privileges crash the server with a single WebSocket message. The type/kind parser fails to enforce the configured recursion depth limit when parsing deeply nested type annotations (e.g. array<option<array<option<...>>>>), driving uncontrolled recursion that exhausts server memory and terminates the process. No public exploit identified at time of analysis and not listed in CISA KEV, but the flaw is trivially triggerable and is an incomplete fix of a previously patched bug class (GHSA-6r8p-hpg7-825g).

Technical ContextAI

SurrealDB is a Rust-based multi-model database that accepts SurrealQL queries over a WebSocket /rpc endpoint and an HTTP /sql endpoint. The root cause is CWE-674 (uncontrolled recursion): the type/kind parser recurses through the cycle parse_concrete_kind → parse_inner_kind → parse_inner_single_kind → parse_concrete_kind without applying the object_recursion_limit (default 100) that the expression parser already enforced. Because nested type annotations such as array<option<array<...>>> map directly onto this recursive descent, each nesting level consumes stack/heap until memory is exhausted. The affected component is the rust/surrealdb crate at versions below 3.1.0; CPE data was not provided, so affected identification relies on the vendor GHSA advisory and package range.

RemediationAI

Upgrade to SurrealDB 3.1.0 or later, which wraps parse_concrete_kind and the OPTION<...> arm of parse_inner_kind with the enter_object_recursion! guard to bound recursion at the configured object_recursion_limit (default 100); the fix is in commit 61d509b766afdf67cc26d8203fd7dc583c8d77aa (Vendor-released patch: 3.1.0). If immediate patching is not possible, restrict untrusted query execution using the --deny-arbitrary-query capability flag for the guest, record, and system user classes, accepting that this blocks legitimate ad-hoc queries for those classes. Alternatively, disable untrusted access to the WebSocket /rpc endpoint entirely, or route untrusted traffic only through the HTTP /sql endpoint, whose 1 MiB request body limit constrains nesting depth below the level needed to trigger OOM - at the cost of losing WebSocket RPC functionality for those users. See the advisory at https://github.com/surrealdb/surrealdb/security/advisories/GHSA-q8qp-67f9-wr3f.

CVE-2025-71392 CRITICAL
9.4 Jul 18

Privilege escalation via second-order SurrealQL injection in SurrealDB before 2.0.5, 2.1.5, and 2.2.2 lets an authentica

CVE-2026-63756 CRITICAL
9.2 Jul 20

Privilege escalation in SurrealDB before v3.1.0 lets unauthenticated attackers hijack the privileges of concurrently-act

CVE-2026-63760 HIGH
8.7 Jul 20

Denial of service in SurrealDB before 3.1.0 lets an unauthenticated remote attacker crash the database with a single Web

CVE-2026-63747 HIGH
8.7 Jul 20

Denial of service in SurrealDB before 3.1.0 lets an unauthenticated remote attacker crash the entire database process wi

CVE-2026-63757 HIGH
8.7 Jul 20

Session hijacking in SurrealDB before 3.1.0 lets unauthenticated attackers enumerate attached session UUIDs through the

CVE-2026-63735 HIGH POC
8.6 Jul 20

Cross-tenant authorization bypass in SurrealDB before 3.2.0 lets any authenticated user reach custom API endpoints belon

CVE-2026-63739 HIGH
8.3 Jul 20

Arbitrary file read in SurrealDB before 3.1.5 lets an authenticated database user holding the EDITOR or OWNER role discl

CVE-2026-63763 HIGH
7.5 Jul 20

Confused-deputy privilege escalation in SurrealDB before 2.5.0 and before 3.0.0-beta.3 lets a low-privileged user (e.g.

CVE-2026-63737 HIGH
7.1 Jul 20

Denial of service in SurrealDB before 3.1.5 lets an authenticated user with query-execution privileges crash the entire

CVE-2025-71397 HIGH
7.1 Jul 18

Denial of service in SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 lets an authenticated user with

CVE-2026-63746 HIGH
7.1 Jul 20

Information disclosure in SurrealDB before 3.1.0 allows authenticated record or scope users to bypass table-level SELECT

CVE-2025-71391 HIGH
7.1 Jul 18

Denial of service in SurrealDB before 2.2.2 allows any authenticated user to crash the database by submitting a crafted

Share

CVE-2026-63759 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy