Skip to main content

SurrealDB CVE-2026-63760

| EUVDEUVD-2026-45931 HIGH
Uncontrolled Recursion (CWE-674)
2026-07-20 disclosure@vulncheck.com GHSA-m464-hj36-96vx GHSA-q729-696q-g9pq
8.7
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/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
7.5 HIGH

Remote, low-complexity, unauthenticated crash of the /rpc parser with no user interaction (AV:N/AC:L/PR:N/UI:N); impact is availability-only (A:H) with no confidentiality or integrity effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/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
None
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 8.7

DescriptionCVE.org

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.

AnalysisAI

Denial of service in SurrealDB before 3.1.0 lets an unauthenticated remote attacker crash the database with a single WebSocket message by sending a deeply nested JSON payload to the /rpc endpoint. The value/JSON parser ignores the configured recursion depth limit for nested braces, brackets, and parentheses, so uncontrolled recursion (CWE-674) exhausts server memory and terminates the process. This is an incomplete-fix regression of GHSA-6r8p-hpg7-825g, which patched the same bug class in the expression parser but missed the value/JSON code path; no public exploit identified at time of analysis, though the trigger is trivially reproducible from the advisory.

Technical ContextAI

SurrealDB is a multi-model (document/graph/relational) database written in Rust that exposes a JSON-RPC API over WebSocket at /rpc. Its query pipeline includes several parsers; the expression parser correctly bounds recursion when it encounters opening tokens ({, [, (), but the separate value parser (parse_value) and JSON parser (parse_json) failed to apply the same configured depth limit. The root cause is CWE-674 (Uncontrolled Recursion): each additional level of nesting drives another recursive descent call, so an attacker-controlled nesting depth translates directly into unbounded stack/heap growth until the process is OOM-killed or aborts. Because the flaw is in the parser itself - before any authentication, query planning, or permission checks - it is reachable purely by feeding malformed structured input.

RemediationAI

Vendor-released patch: 3.1.0 - upgrade SurrealDB to 3.1.0 or later, which enforces the configured recursion depth limit in parse_value and parse_json (fix commit https://github.com/surrealdb/surrealdb/commit/1bd9826f477f4089134460dc5574b6f4e6916973 ). If immediate upgrade is not possible, apply the vendor workaround of restricting network access to the WebSocket /rpc endpoint to trusted clients only - for example placing the database behind a firewall, VPN, or reverse proxy allowlist so untrusted hosts cannot reach /rpc; the trade-off is that any legitimate client that connects directly over the network must be enumerated and permitted, which complicates broadly-accessible or multi-tenant deployments. Refer to the advisory at https://github.com/surrealdb/surrealdb/security/advisories/GHSA-q729-696q-g9pq for details.

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-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

CVE-2026-63740 HIGH
7.1 Jul 20

Broken authorization in SurrealDB before 3.1.4 allows record-scoped (authenticated) users to read array elements that fi

Share

CVE-2026-63760 vulnerability details – vuln.today

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