Skip to main content

SurrealDB CVE-2026-63757

| EUVDEUVD-2026-45928 HIGH
Missing Authentication for Critical Function (CWE-306)
2026-07-20 disclosure@vulncheck.com GHSA-32pg-rjqh-fhfp
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 HTTP /rpc endpoint over network
  2. Delivery
    Call unauthenticated sessions method
  3. Exploit
    Enumerate attached session UUIDs
  4. Execution
    Replay UUID in /rpc session field
  5. Persist
    Impersonate authenticated session
  6. Impact
    Read/write/delete data and escalate to root

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

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

Exploitation Conditions

Exploitation requires (1) the SurrealDB HTTP /rpc endpoint to be network-reachable to the attacker, and (2) at least one client to have registered an authenticated session via {"method":"attach"} on that HTTP transport - in practice the official Rust SDK's Http/Https engine, which auto-attaches once per Surreal handle. The attacker needs no credentials (PR:N): they enumerate attached UUIDs via the unauthenticated sessions method and then supply the target UUID in the /rpc 'session' field, which the pre-3.1.0 handler accepts without ownership verification. Limiting factors: an attached session that has not yet authenticated is Level::No and confers no privilege; WebSocket /rpc (per-connection scope, attach refused), REST endpoints (/sql, /signin, /key, /export), embedded/MCP usage, and POST /rpc callers that never attach are all NOT exposed. The UI:P metric reflects this dependency on a legitimate client's attach behavior rather than any per-request victim action.

Impact

The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) with VC:H/VI:H/VA:H and a base score of 8.7 indicates a network-reachable, low-complexity, unauthenticated attack with high impact to confidentiality, integrity and availability but no scope change to other systems (SC/SI/SA:N). The single mitigating signal in the vector is UI:P (passive user interaction): exploitation is only possible when a legitimate client has actually attached an authenticated session over HTTP /rpc, so the attack surface depends on victim client behavior rather than being universally exploitable against every default deployment. No CISA KEV listing and no EPSS score are present in the provided data, and no POC is referenced, so this reads as a high-severity, high-confidence-of-mechanism issue without evidence of active or widespread exploitation yet. Net: a genuine priority for anyone running SurrealDB < 3.1.0 with Rust-SDK HTTP clients, but the UI:P precondition means it is not a spray-and-pray internet-wide RCE-equivalent; targeted attacks against known SurrealDB HTTP endpoints are the realistic threat.

Exploit ScenarioDerived

An application uses the official Rust SDK's Http engine, which auto-attaches an authenticated (up to root) session to a SurrealDB < 3.1.0 instance reachable on the network. An unauthenticated attacker who can reach /rpc calls the 'sessions' method to list attached UUIDs, then issues an /rpc request carrying a victim's UUID in the 'session' field and is treated as that authenticated session, reading and deleting data and escalating privilege. No public POC is referenced, but the GHSA advisory describes each step precisely.

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

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

Alert me

AnalysisAIv1 – Jul 20, 2026

Session hijacking in SurrealDB before 3.1.0 lets unauthenticated attackers enumerate attached session UUIDs through the HTTP /rpc 'sessions' method and then impersonate any authenticated session by supplying an arbitrary 'session' field that the /rpc handler never ownership-checks. Because impersonation inherits the victim session's authorization, an anonymous caller can read, write, and delete data and escalate to that session's level, up to root. There is no public exploit identified at time of analysis, but the vendor GHSA advisory documents the mechanism in full detail, making reproduction straightforward.

RemediationAI

Vendor-released patch: upgrade to SurrealDB 3.1.0 or later, in which HTTP sessions() now returns method_not_allowed, the /rpc handler gates client-supplied session IDs against the caller's request-level auth principal (actor id + level) and returns session_not_found on mismatch, and attached HTTP sessions are capped via the SURREAL_HTTP_MAX_ATTACHED_SESSIONS environment variable (patch commit https://github.com/surrealdb/surrealdb/commit/fd800fc7c55afcdc97057d18cf7cb7f83557e702). Where immediate upgrade is impossible, the vendor states no configuration-level mitigation fully addresses the flaw, but you can reduce exposure by avoiding SDKs and client flows that call attach against HTTP /rpc - notably the Rust SDK's Http/Https engine - and instead using the WebSocket transport (per-connection scope, attach refused) or REST endpoints (/sql, /signin, /key, /export) that never populate the attached-session map; the trade-off is a client transport change. Additionally restrict /rpc to trusted clients at the network layer (firewall/allowlist or reverse-proxy auth), accepting that this only limits reachability and does not close the underlying missing-authentication gap. Advisory: https://github.com/surrealdb/surrealdb/security/advisories/GHSA-5qfp-32cf-69jh.

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 modern multi-model (document/graph/relational) database that exposes an RPC surface over both HTTP and WebSocket. The flaw is a CWE-306 (Missing Authentication for Critical Function) issue in the HTTP transport: the /rpc 'sessions' method returned every attached session UUID with no authentication, and the /rpc handler accepted a client-supplied 'session' field without verifying that the caller owned it. 'Attached' sessions are those registered via {"method":"attach"} - the only writer to the HTTP session map - which is how the official Rust SDK's Http/Https engine behaves (it auto-attaches once per Surreal handle). Ordinary stateless /rpc requests use ephemeral per-request sessions that are filtered from sessions() and destroyed at end of request, so they are never enumerable. The combination of an unauthenticated enumeration primitive plus an unverified session-selection parameter turns knowledge of a UUID into full impersonation.

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:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable and low-complexity with no attacker auth (PR:N), but exploitation depends on a legitimate client having attached an authenticated session, mapped from CVSS 4.0 UI:P to UI:R; full C/I/A impact within the DB with no scope change.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/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
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
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 session hijacking vulnerability where the HTTP /rpc sessions method returns attached session UUIDs without authentication and accepts arbitrary session fields with no ownership verification. Unauthenticated attackers can enumerate session UUIDs and impersonate authenticated sessions to read, write, delete data and escalate privileges.

Executive ViewAI

Why It Matters

SurrealDB versions before 3.1.0 contain a session hijacking vulnerability that allows attackers to enumerate and impersonate any authenticated user session, gaining complete read, write, and delete access to database contents and privilege escalation without providing credentials. Any organization running affected versions faces immediate risk of full data compromise and administrative takeover through database hijacking.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict /rpc endpoint access via network firewall to trusted systems only; disable the 'sessions' method if operationally feasible; monitor for session enumeration patterns (repeated /rpc 'sessions' requests from single source); enforce mandatory session invalidation and re-authentication every 24 hours; enable comprehensive audit logging on all database operations; isolate affected systems from untrusted network segments until patched.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Low
emerging multi-model database, limited enterprise production footprint
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.3%
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
Total

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

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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