Skip to main content

SurrealDB CVE-2025-71392

| EUVDEUVD-2025-210483 CRITICAL
Command Injection (CWE-77)
9.4
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as OWNER/EDITOR System User
  2. Delivery
    Create table/field with SurrealQL-laden name
  3. Exploit
    Payload stored in database schema
  4. Execution
    Admin exports and re-imports backup
  5. Persist
    Injected SurrealQL executes as privileged user
  6. Impact
    Root-level takeover of SurrealDB instance

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK

1 technique across 1 tactic: Execution

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

Exploitation Conditions

Exploitation requires an authenticated SurrealDB System User holding the OWNER or EDITOR role who can create tables or fields with attacker-chosen names containing SurrealQL (PR:L). The payload is inert until a second, limiting condition is met: a higher-privileged user must run the CLI export and then the import operation on that data (UI:P - user interaction by the victim operator), at which point the injected SurrealQL executes with the importer's privileges. A parallel condition applies to applications built on SurrealDB that let their end users define custom table or field names, which exposes a universal second-order injection even when query parameters are sanitized. Limiting factors: the attacker needs prior authenticated privileged-role access, cannot fire the payload themselves, and depends on a privileged victim performing an export/import cycle on the tainted data - a single-operator install that never imports attacker-influenced backups is not practically exploitable.

Impact

The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H, base 9.4) captures the real profile well: network-reachable, low complexity, but gated by two meaningful conditions - the attacker must already hold OWNER or EDITOR on a System User (PR:L), and a higher-privileged user must be induced to import the tainted backup (UI:P). The high subsequent-system impacts (SC/SI/SA:H) correctly reflect the co-tenancy angle where one tenant's payload compromises a shared backend. No EPSS score, KEV listing, or public POC was provided, so exploitation probability signals are absent; this is not evidence of low risk but of a recently-disclosed, audit-found bug with no observed in-the-wild activity yet. The dependence on a privileged import action makes this more of a targeted/insider or multi-tenant escalation primitive than a mass-exploitable remote flaw - priority is high for multi-tenant or backup-driven SurrealDB deployments, lower for single-operator installs that never import untrusted exports. No conflicting signals were found; the main gap is the missing EPSS/POC telemetry.

Exploit ScenarioDerived

In a multi-tenant SurrealDB deployment, an attacker holding an EDITOR role creates a table or field whose name embeds SurrealQL statements. When an administrator later exports the database and re-imports the backup - a routine backup/restore or migration workflow - the injected SurrealQL executes with the administrator's privileges, granting the attacker root-level control of the instance. No public POC has been identified, but the low attack complexity and the commonality of backup/restore operations make the required user interaction realistic.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
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 18, 2026

Privilege escalation via second-order SurrealQL injection in SurrealDB before 2.0.5, 2.1.5, and 2.2.2 lets an authenticated OWNER or EDITOR user embed malicious SurrealQL inside unescaped table or field names that executes when a higher-privileged operator re-imports the CLI-exported backup, yielding root-level takeover of the instance. Reported by VulnCheck and discovered during a cure53 audit, it also enables a universal second-order injection against co-tenanted applications that let end users define custom tables or fields, even when query parameters are otherwise sanitized. There is no public exploit identified at time of analysis and it is not listed in CISA KEV, but the vendor and cure53 both rate the impact Critical (CVSS 4.0 base 9.4).

RemediationAI

Vendor-released patch: upgrade to SurrealDB 2.0.5, 2.1.5, 2.2.2, or later, which fix the exporter's character-escaping bug, per advisory GHSA-ccj3-5p93-8p42 (https://github.com/surrealdb/surrealdb/security/advisories/GHSA-ccj3-5p93-8p42). If upgrading is not immediately possible, the vendor's stated workaround is to manually inspect every exported backup for injected SurrealQL statements before running any import operation, accepting that this manual review is error-prone and does not scale to frequent or automated backups. As additional compensating controls, restrict OWNER and EDITOR System User roles to trusted operators to limit who can create tables or fields, and in applications that expose custom table/field definitions to end users, validate and constrain identifier names to a safe character set before persisting them - noting that overly strict name validation may reject legitimate schema names. See the SurrealDB export/import CLI documentation (https://surrealdb.com/docs/surrealdb/cli/export, https://surrealdb.com/docs/surrealdb/cli/import) for operational context.

Affected VersionsENISA

surrealdb 0 <2.0.5
surrealdb 0 <2.2.2
surrealdb 0 <2.1.5

Affected Packages

cargo surrealdb fix: 2.0.5, 2.1.5, 2.2.2

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 modern multi-model database with its own SurrealQL query language and a command-line tool providing export/import backup operations. The root cause is CWE-77 (Command/query injection): the exporter serializes schema object identifiers - table and field names - into SurrealQL statements without escaping special characters, so a name that itself contains SurrealQL syntax is written verbatim into the backup file. Because the malicious payload lies dormant in the exported data and only fires during a later import, this is a classic second-order (stored) injection: the trust boundary is crossed not at write time but when a privileged user imports the backup, and the injected statements run with that importer's privileges. The affected component is the rust/surrealdb package (CPE cpe:2.3:a:surrealdb:surrealdb) across the pre-2.0.5, 2.1.x, and 2.2.x branches.

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

Network-reachable but needs an authenticated OWNER/EDITOR (PR:L) and a privileged victim's import action (UI:R); payload compromises the shared instance/other tenants, so scope changes (S:C) with full C/I/A impact.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

2
Patch available
Jul 18, 2026 - 15:17 EUVD
CVE Published
Jul 18, 2026 - 13:10 cve.org
CRITICAL 9.4

DescriptionCVE.org

SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 fails to properly escape table and field names in the command-line export command. An authenticated System User with OWNER or EDITOR roles can create tables or fields with malicious names containing SurrealQL. When a higher-privileged user subsequently imports the exported backup, the injected SurrealQL executes, enabling privilege escalation and root-level takeover of the SurrealDB instance. Applications that let users define custom tables or fields are also exposed to a universal second-order SurrealQL injection even when query parameters are sanitized.

Executive ViewAI

Why It Matters

SurrealDB instances running versions before 2.0.5, 2.1.5, and 2.2.2 are vulnerable to privilege escalation allowing authenticated database users with OWNER or EDITOR roles to achieve root-level compromise when an administrator performs backup restoration. While no public exploit identified at time of analysis, this represents a critical insider risk to any organization where database administration is handled by multiple teams or where application users are granted elevated database roles. The vulnerability is particularly severe in multi-tenant deployments where end-users can define custom tables and fields.

Business Impact: Severe
Compensating Controls

Restrict OWNER and EDITOR role assignments to trusted database administrators only; implement strict input validation on table and field names to prevent SQL injection attacks; disable end-user ability to create custom tables and fields in multi-tenant systems; limit backup and restore operations to authenticated administrative users with comprehensive audit logging; continuously monitor database backup/restore activity for anomalies; enforce network segmentation to minimize exposure of SurrealDB instances to untrusted networks.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
modern niche database, limited enterprise production footprint versus mainstream DBs
Threat Intel
1
1 source
Social Media
2
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
No
Human Impact
Very High

Priority Score

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

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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

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