Skip to main content

SurrealDB CVE-2026-63762

| EUVDEUVD-2026-45933 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-07-20 disclosure@vulncheck.com GHSA-hxgc-2rvh-7h4r
6.0
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Identify SurrealDB instance with --allow-scripting enabled
  2. Delivery
    Connect to query endpoint (unauthenticated if --allow-guests active, else authenticate)
  3. Exploit
    Submit SurrealQL query invoking string functions to construct oversized string
  4. Execution
    Pass oversized string to QuickJS-NG JavaScript runtime for compilation
  5. Persist
    Null pointer dereference crashes server process
  6. Impact
    Database offline until manual operator restart

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Two non-default capabilities must be simultaneously active: (1) --allow-scripting (or its absence of a --deny-scripting flag), which enables the embedded QuickJS-NG JavaScript runtime - this capability is disabled by default and must be explicitly configured; and (2) at minimum one user class with query execution rights, which in practice means either an authenticated user (record, system, or guest user type) or unauthenticated guest access via --allow-guests. Without --allow-scripting, no attack surface exists regardless of any other configuration. Without any query-executing principal, the payload cannot be delivered. When both scripting and guest access are enabled, exploitation requires only network connectivity to the SurrealDB query endpoint with no authentication. Limiting factors: the non-default scripting flag is the primary gate; deployments using only the default configuration are fully unexposed; the attack cannot cross a scope boundary, execute code, or access data - impact is strictly process termination requiring manual restart.

Impact

The CVSS 4.0 score of 6.0 (AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H) reflects the core tension in this vulnerability: network-reachable with low complexity, but gated behind a non-default capability (AT:P). The attack requirement AT:P is the decisive signal - without --allow-scripting explicitly enabled, no exploitation path exists regardless of user privileges or network position. PR:L indicates that at minimum an authenticated user with query execution rights is needed; however, if --allow-guests is also enabled, that constraint dissolves to unauthenticated access, increasing real-world risk substantially for such deployments. Impact is strictly availability (VA:H), with vendor confirmation that confidentiality and integrity cannot be compromised. No EPSS data was provided, and the vulnerability has no CISA KEV listing and no known public proof-of-concept code, suggesting exploitation has not been observed in the wild. Real-world priority should be calibrated accordingly: for deployments with scripting disabled (the default), risk is zero; for deployments with scripting and guest access both enabled, the risk profile is closer to a critical availability issue affecting unauthenticated endpoints.

Exploit ScenarioDerived

An attacker with query execution access to a SurrealDB instance that has --allow-scripting enabled submits a crafted SurrealQL query that invokes built-in string functions to construct an abnormally large string, then passes it to the embedded JavaScript runtime for compilation. The exact string size required to trigger the crash varies across SurrealDB versions, but no special tooling is needed - the attack is deliverable via any standard SurrealDB query interface. The QuickJS-NG engine dereferences a null pointer during compilation, the server process terminates instantly, and the database remains unavailable until an operator manually restarts it; if --allow-guests is also enabled, this attack is executable without any credentials.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% 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's embedded JavaScript scripting engine allows any query-executing user - including unauthenticated guests when guest access is enabled alongside scripting - to immediately crash the server process by passing an oversized string to the QuickJS-NG v0.8 runtime for compilation, triggering a null pointer dereference. The crash requires a manual operator restart with no graceful shutdown, and cannot be leveraged for code execution or data compromise. The attack is constrained to instances where the non-default --allow-scripting capability is active; no public exploit identified at time of analysis, and the vulnerability is not listed in CISA KEV.

RemediationAI

Upgrade SurrealDB to v2.6.1 (stable) or v3.0.0-beta.3 (pre-release); both versions update the rquickjs dependency from v0.9.0 to v0.11.0, resolving the null pointer dereference in QuickJS-NG. Patch pull requests are available at https://github.com/surrealdb/surrealdb/pull/6774 and https://github.com/surrealdb/surrealdb/pull/6833. If immediate upgrade is not feasible, disable the scripting capability by starting SurrealDB with --deny-scripting or by setting SURREAL_CAPS_DENY_SCRIPT=true; this eliminates the attack surface entirely but disables all embedded JavaScript functions and will break any workloads relying on SurrealQL scripting. As a secondary compensating control, use --deny-arbitrary-query scoped to guest, record, or system users to prevent untrusted principals from submitting the triggering query, though this impacts application functionality for those user classes. Full vendor guidance is at https://github.com/surrealdb/surrealdb/security/advisories/GHSA-xx7m-69ff-9crp.

Affected VersionsENISA

surrealdb 0 <3.0.0-beta.3
surrealdb 0 <2.6.1

Affected Packages

cargo surrealdb fix: 2.6.1, 3.0.0-beta.3

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 database written in Rust that optionally embeds a JavaScript scripting runtime, exposed via the --allow-scripting capability flag (disabled by default). The runtime is backed by QuickJS-NG v0.8, accessed through the Rust binding crate rquickjs v0.9.0. CWE-476 (NULL Pointer Dereference) describes the root cause: when the QuickJS-NG engine attempts to compile a pathologically large string constructed through SurrealDB's built-in string functions, it dereferences a null pointer internally, causing an unrecoverable OS-level process crash that bypasses SurrealDB's own error handling. Because the crash occurs inside a C-level engine embedded via FFI, Rust's memory safety guarantees do not protect against it. Vulnerable packages are rust/surrealdb < 2.6.1 and rust/surrealdb >= 3.0.0-alpha.8, < 3.0.0-beta.3. The fix upgrades the rquickjs dependency to v0.11.0, which bundles a patched version of QuickJS-NG.

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 6.0 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

AC:H captures the non-default scripting capability prerequisite; PR:L reflects minimum authenticated-user requirement in base case; impact is availability-only with no C or I compromise.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/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
Attack Requirements
Present
Privileges Required
Low
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

1
Patch available
Jul 20, 2026 - 15:33 EUVD

DescriptionCVE.org

SurrealDB before v2.6.1 (and before v3.0.0-beta.3) contains a denial of service vulnerability in its embedded JavaScript scripting engine, which is enabled via the --allow-scripting capability (disabled by default). Any user able to execute arbitrary queries - including unauthenticated guests when --allow-guests is enabled - can use built-in string functions to construct a large string and pass it to the JavaScript runtime for compilation, triggering a null pointer dereference in the underlying QuickJS-NG engine. This causes the server process to terminate immediately without graceful shutdown, requiring a manual restart. The issue was fixed by updating the rquickjs dependency from v0.9.0 to v0.11.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche multi-model database, limited enterprise production footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

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

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