Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach /rpc WebSocket endpoint
-
DeliveryOpen unauthenticated connection
-
ExploitSend 'use' with db and no ns
-
ExecutionTrigger .expect() panic in use handler
-
Persistpanic=abort terminates process
-
ImpactDatabase 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Privilege escalation via second-order SurrealQL injection in SurrealDB before 2.0.5, 2.1.5, and 2.2.2 lets an authentica
Privilege escalation in SurrealDB before v3.1.0 lets unauthenticated attackers hijack the privileges of concurrently-act
Denial of service in SurrealDB before 3.1.0 lets an unauthenticated remote attacker crash the database with a single Web
Session hijacking in SurrealDB before 3.1.0 lets unauthenticated attackers enumerate attached session UUIDs through the
SurrealDB versions before 3.3.0 fail to validate a caller's authorization level when the SurrealQL USE statement switche
Cross-tenant data access in SurrealDB before 3.3.0 allows an authenticated namespace- or database-level SYSTEM user to b
Cross-tenant authorization bypass in SurrealDB before 3.2.0 lets any authenticated user reach custom API endpoints belon
Arbitrary file read in SurrealDB before 3.1.5 lets an authenticated database user holding the EDITOR or OWNER role discl
Confused-deputy privilege escalation in SurrealDB before 2.5.0 and before 3.0.0-beta.3 lets a low-privileged user (e.g.
Denial of service in SurrealDB before 3.1.5 lets an authenticated user with query-execution privileges crash the entire
Denial of service in SurrealDB versions before 3.3.0 lets a query-capable authenticated user with embedded JavaScript sc
Authenticated SurrealDB record users can read field values that field-level SELECT permissions are meant to conceal on S
EUVD-2026-45918
GHSA-j7ww-7h79-mmf6
NVD
CVE.org
EPSS
Exploit-DB