Skip to main content

SurrealDB CVE-2026-63740

| EUVDEUVD-2026-45911 HIGH
Incorrect Authorization (CWE-863)
2026-07-20 disclosure@vulncheck.com GHSA-j6mj-v752-pp4x
7.1
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/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
6.5 MEDIUM

Network-reachable query interface (AV:N/AC:L), requires a valid record-scope login so PR:L, no user interaction; confidentiality-only disclosure of denied data with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/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
Analysis Generated
Jul 20, 2026 - 12:34 vuln.today
CVE Published
Jul 20, 2026 - 12:19 cve.org
HIGH 7.1

DescriptionCVE.org

SurrealDB versions before 3.1.4 fail to properly enforce SELECT permissions on array elements (field.*) for record users, leaking denied array elements instead of hiding them. Attackers with record scope access can read array elements that element-level permissions should deny by exploiting incorrect index handling during permission filtering.

AnalysisAI

Broken authorization in SurrealDB before 3.1.4 allows record-scoped (authenticated) users to read array elements that field-level SELECT permissions are supposed to hide. When permissions are evaluated against array fields using the field.* wildcard, denied elements are leaked back to the caller instead of being filtered out, because the engine mishandles element indexing during permission filtering (CWE-863). No public exploit has been identified at time of analysis and it is not in CISA KEV, but the flaw is a straightforward authorization bypass reachable by any user with record scope access.

Technical ContextAI

SurrealDB is a multi-model (document/graph/relational) database that enforces row- and field-level access control through record users ("record scope" authentication) and permission clauses defined in the schema. This vulnerability lives in the permission-filtering logic that post-processes SELECT results: for array-valued fields addressed with the field.* wildcard, the engine is meant to strip individual elements the caller is not permitted to see. Due to incorrect index handling while iterating and filtering the array, elements that should be removed remain in the response. This is a classic CWE-863 Incorrect Authorization defect - the permission decision is computed but applied to the wrong positions, so denied data is disclosed rather than withheld.

RemediationAI

Upgrade to SurrealDB 3.1.4 or later, which contains the corrected array-element permission filtering - Vendor-released patch: 3.1.4. If immediate upgrade is not possible, reduce exposure by avoiding element-level (field.*) SELECT permissions as the sole control for sensitive array data: restructure sensitive elements into separate records or fields protected by whole-field permissions, or move sensitive values out of arrays entirely so record/table-level permissions apply cleanly. Additionally, tighten who can obtain record-scope credentials and audit existing record users, since exploitation requires an authenticated record account. Track the fix and details via the vendor advisory https://github.com/surrealdb/surrealdb/security/advisories/GHSA-8rw6-p7m8-63jp and https://www.vulncheck.com/advisories/surrealdb-before-array-element-permission-bypass. Trade-off: restructuring schema to avoid field.* reliance can require query and application changes, so the upgrade to 3.1.4 remains the clean fix.

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-63740 vulnerability details – vuln.today

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