Skip to main content

SurrealDB CVE-2026-63749

| EUVDEUVD-2026-45920 MEDIUM
Incorrect Authorization (CWE-863)
2026-07-20 disclosure@vulncheck.com GHSA-75qw-w395-xvv7
5.3
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
4.3 MEDIUM

Network-accessible subscription service, low complexity; requires authenticated record user (PR:L); impact is low confidentiality only, read-only and table-scoped, no scope change.

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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Jul 20, 2026 - 15:33 EUVD
Source Code Evidence Fetched
Jul 20, 2026 - 12:46 vuln.today
Analysis Generated
Jul 20, 2026 - 12:46 vuln.today

DescriptionCVE.org

SurrealDB versions before 3.1.0 contain an authentication bypass vulnerability in LIVE SELECT subscriptions where permission expressions referencing $value, $before, $after, or $event are evaluated against attacker-controlled bindings instead of actual documents. Authenticated subscribers can bind chosen values to these parameter names and register LIVE SELECT queries to receive notifications for records that SELECT permission expressions should have hidden.

AnalysisAI

Authorization bypass in SurrealDB LIVE SELECT subscriptions allows authenticated record users to receive real-time notifications for records that table-level SELECT permission expressions should have filtered out. Affected versions before 3.1.0 incorrectly evaluate permission expressions against attacker-supplied variable bindings rather than trusted document context when the expression references $value, $before, $after, or $event. No public exploit code has been identified and the issue is not listed in CISA KEV, but the bypass is straightforward for any authenticated subscriber on a vulnerable deployment using the affected variable names in permission logic.

Technical ContextAI

SurrealDB is a multi-model database written in Rust that supports real-time query subscriptions via LIVE SELECT statements. CWE-863 (Incorrect Authorization) applies here: the root cause is a binding-order flaw in the LIVE notification pipeline. When a subscriber pre-binds a session variable (e.g., LET $value = [$auth.id]) before registering a LIVE SELECT, the runtime processes user-captured bindings after the trusted document-context parameters are established. This ordering means the attacker's binding for $value, $before, $after, or $event shadows the real document value that the permission expression is supposed to evaluate against. The fix (commit 6bcc55c9c0494a0d4d36821019b54459f7162af7) reverses the binding order so trusted document-context and session parameters are added last, overwriting any prior user-supplied values. Permission expressions that reference only field names, $auth, or $session are unaffected because those names are not shadowed by the flaw.

RemediationAI

Upgrade SurrealDB to version 3.1.0 or later; this is the vendor-confirmed fixed release per GHSA-6wqw-vhfr-9999 and the upstream patch commit at https://github.com/surrealdb/surrealdb/commit/6bcc55c9c0494a0d4d36821019b54459f7162af7. For deployments unable to upgrade immediately, the vendor recommends avoiding table PERMISSIONS and LIVE WHERE expressions that read user-named variables ($value, $before, $after, $event) without also gating on a system-derived field such as the record id - for example, rewriting a permission like WHERE $auth.id.id() IN $value to instead traverse a relationship anchored to a trusted system field. Note that this workaround requires auditing all table permission definitions and may involve rewriting application-level query logic; it does not eliminate the underlying flaw but removes the exploitable condition.

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-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-2025-71397 HIGH
7.1 Jul 18

Denial of service in SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 lets an authenticated user with

CVE-2026-63746 HIGH
7.1 Jul 20

Information disclosure in SurrealDB before 3.1.0 allows authenticated record or scope users to bypass table-level SELECT

CVE-2025-71391 HIGH
7.1 Jul 18

Denial of service in SurrealDB before 2.2.2 allows any authenticated user to crash the database by submitting a crafted

Share

CVE-2026-63749 vulnerability details – vuln.today

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