Skip to main content

SurrealDB EUVDEUVD-2026-45931

| CVE-2026-63760 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
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach WebSocket /rpc endpoint
  2. Delivery
    Craft deeply nested JSON payload
  3. Exploit
    Send single unauthenticated RPC message
  4. Execution
    Trigger unbounded recursion in value/JSON parser
  5. Persist
    Exhaust server memory
  6. Impact
    Crash SurrealDB process (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
Exploitation Conditions

Exploitation requires only network reachability to the SurrealDB WebSocket /rpc endpoint (default RPC interface) on a version earlier than 3.1.0; the malicious input is a single deeply nested JSON payload using stacked {, [, or ( tokens routed through the value/JSON parser. Per CVSS 4.0 AV:N/AC:L/AT:N/PR:N/UI:N, no authentication, no query-execution privileges, and no user interaction are needed against a default configuration. The primary limiting factor is network exposure: deployments that restrict /rpc to trusted clients (firewall, VPN, proxy allowlist) or that have already upgraded to 3.1.0+ are not exploitable, and instances not exposing the WebSocket endpoint to untrusted networks are effectively out of reach.

Impact

The signals are internally consistent for a high-severity availability bug and nothing else. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms remote, low-complexity, unauthenticated, no-interaction reachability, and the impact profile is purely availability (VA:H) with VC:N/VI:N - no data disclosure or code execution, matching the DoS tag and the CWE-674 root cause. The 8.7 base score is driven entirely by the ease of triggering a full-process crash, not by any confidentiality/integrity risk. No EPSS score, SSVC decision, or KEV entry was provided, and there is no POC in the supplied data, so real-world exploitation pressure is unquantified - but exploitation is technically trivial and self-evident from the advisory, so absence of a published POC should not be read as low likelihood. Notably this is explicitly an incomplete fix for a prior advisory, which raises the odds that exposed/unpatched instances exist. Priority is genuinely high for any internet-exposed SurrealDB node; for instances behind network restrictions the practical risk drops sharply.

Exploit ScenarioDerived

An attacker who can reach a SurrealDB server's WebSocket /rpc port opens a connection and sends a single RPC message containing a JSON value nested thousands of levels deep (e.g. many stacked [ or { tokens). The parser recurses without honoring the depth limit, memory balloons, and the server process crashes, taking down the database for all users. No credentials, valid query, or user interaction are required, and the payload is trivial to construct from the advisory description; no public exploit is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 20, 2026

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.

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.

Affected VersionsENISA

surrealdb 0 <3.1.0

Affected Packages

cargo surrealdb fix: 3.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in cargo

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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.

Know when Surrealdb gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

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
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
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Jul 20, 2026 - 15:33 EUVD
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.

Executive ViewAI

Why It Matters

SurrealDB versions before 3.1.0 contain a critical denial-of-service vulnerability (CVE-2026-63760, CVSS 8.7) that allows unauthenticated remote attackers to crash the database by sending a specially crafted WebSocket message. Organizations running affected SurrealDB instances face immediate risk of database unavailability, with no vendor patch currently available, creating urgent pressure on operational resilience and business continuity.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: (1) Network isolation and segmentation restricting /rpc endpoint access to authorized internal systems only; (2) Web application firewall or load balancer rules configured to reject requests containing deeply nested JSON payloads; (3) Rate-limiting and connection throttling on WebSocket connections to /rpc; (4) Comprehensive process-level monitoring detecting memory spikes and unexpected crashes with automated alerts; (5) Tested backup and recovery procedures enabling rapid database restoration if compromise occurs.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
Low
emerging open-source multi-model database, limited production deployment footprint
Threat Intel
1
1 sources
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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-109343 HIGH
8.6 Oct 12

SurrealDB versions before 3.3.0 fail to validate a caller's authorization level when the SurrealQL USE statement switche

CVE-2026-109334 HIGH
8.6 Oct 12

Cross-tenant data access in SurrealDB before 3.3.0 allows an authenticated namespace- or database-level SYSTEM user to b

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-2026-109338 HIGH
7.1 Oct 12

Denial of service in SurrealDB versions before 3.3.0 lets a query-capable authenticated user with embedded JavaScript sc

CVE-2026-109335 HIGH
7.1 Oct 12

Authenticated SurrealDB record users can read field values that field-level SELECT permissions are meant to conceal on S

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