Skip to main content

SurrealDB CVE-2026-63747

| EUVDEUVD-2026-45918 HIGH
Uncaught Exception (CWE-248)
2026-07-20 disclosure@vulncheck.com GHSA-j7ww-7h79-mmf6
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 /rpc WebSocket endpoint
  2. Delivery
    Open unauthenticated connection
  3. Exploit
    Send 'use' with db and no ns
  4. Execution
    Trigger .expect() panic in use handler
  5. Persist
    panic=abort terminates process
  6. Impact
    Database offline (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
Exploitation Conditions

The attacker only needs network reachability to the WebSocket /rpc endpoint and must send an RPC 'use' call that sets the 'db' field while no namespace ('ns') has been selected on the session. No credentials, token, prior signin, session state, or --allow-guests flag is required, because 'use' is dispatched before authentication and the default per-method capability check passes for guest callers. Limiting factors are minimal: exploitation depends only on the /rpc endpoint being network-accessible to the attacker, and is fixed in 3.1.0+, so patched or network-isolated deployments are not exploitable. Impact is confined to availability (process crash) - there is no path to data disclosure or code execution.

Impact

This is a genuinely high-priority DoS. All exploitation signals align: the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N with VA:H, base 8.7) indicates a network-reachable, low-complexity, unauthenticated attack with high availability impact and no confidentiality or integrity impact. The GHSA advisory confirms the code path is reachable pre-auth with no --allow-guests flag needed, which matches the PR:N metric - a rare case where description text and CVSS agree fully. Impact is limited strictly to availability: there is no data exposure or code execution, so the ceiling is service outage, not compromise. No EPSS score, KEV listing, or SSVC decision was supplied in the input, and no public PoC is referenced, so real-world exploitation volume is unquantified; however, the triviality (a single crafted message crashes the process) means an exploit is easy to reproduce from the advisory. Net: real, exploitable, unauthenticated outage risk that warrants prompt patching, tempered by the fact that it is 'only' DoS.

Exploit ScenarioDerived

An attacker who can reach a SurrealDB server's /rpc WebSocket endpoint opens a connection and, without authenticating, sends a single RPC 'use' message setting db to any value while omitting the namespace (e.g. use { db: "x" }). The server hits the .expect() and, because it is built with panic = 'abort', the entire process terminates, dropping all connections and taking the database offline. No public PoC is referenced, but the advisory describes the exact triggering payload, making reproduction trivial.

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 entire database process with a single WebSocket message to the /rpc endpoint. Sending an RPC 'use' call that sets a database (db) without first selecting a namespace triggers a Rust panic on an .expect() call; because surrealdb-core is compiled with panic = 'abort', the panic aborts the whole process rather than the connection. The vulnerability (CVSS 4.0 8.7, VulnCheck/GHSA-wjjj-24cx-f28g) requires no credentials, token, or --allow-guests flag, and no public exploit has been identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to SurrealDB 3.1.0 or later, which replaces the panic with a typed 'invalid_params' error response when db is set on a session that has no ns (fix commit https://github.com/surrealdb/surrealdb/commit/1537ec4fbd789c61a5b43b648a854577dbe31a34; advisory https://github.com/surrealdb/surrealdb/security/advisories/GHSA-wjjj-24cx-f28g). If you cannot upgrade immediately, apply the vendor-recommended workarounds: restrict network access to the /rpc endpoint so only trusted clients can reach it (via firewall rules, a reverse proxy, or network segmentation - trade-off: legitimate remote clients must be explicitly allowlisted), and run SurrealDB under a process supervisor (systemd, Docker restart policy, or similar) that automatically restarts the process on crash (trade-off: this only reduces downtime per crash and does not prevent repeated aborts, so an attacker can still cause a sustained crash loop).

Affected VersionsENISA

surrealdb 0 <3.1.0

Affected Packages

euvd surrealdb fix: 3.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

SurrealDB is a Rust-based multi-model database that exposes a JSON-RPC API over WebSocket at /rpc. Client sessions establish context via a 'use' call that selects a namespace (ns) and database (db). The bug is a CWE-248 uncaught-exception (unhandled Rust panic): the 'use' handler assumes a namespace is already set when a db is provided and calls .expect("namespace should be set"), which panics if that invariant is violated. Rust normally unwinds a panic per-task, but surrealdb-core is built with panic = 'abort', so any panic terminates the OS process. Critically, 'use' is dispatched before authentication (it is callable prior to signin), and the default per-method capability check passes for anonymous/guest callers, so the vulnerable code path is reachable pre-auth on a default deployment.

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

Unauthenticated single-message crash over the network gives AV:N/AC:L/PR:N/UI:N; impact is process termination only, so C:N/I:N/A:H with no scope change.

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

Executive ViewAI

Why It Matters

SurrealDB versions prior to 3.1.0 allow unauthenticated remote attackers to completely crash the database process with a single WebSocket request, causing total service outage. The vulnerability requires no credentials or special configuration, making it exploitable by any network-accessible attacker and posing immediate risk to business continuity.

Business Impact: High
Compensating Controls

Until patched: disable the RPC endpoint if WebSocket/RPC access is not required for business operations; restrict network access to /rpc endpoint via firewall/VPC policies to authorized internal networks only; implement rate limiting on WebSocket connections; deploy Web Application Firewall (WAF) to monitor and detect anomalous RPC traffic patterns; configure alerting for abnormal WebSocket activity or connection spikes; maintain database failover and backup capabilities to minimize recovery time.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
Medium
growing open-source multi-model database, moderate but not ubiquitous production footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

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