SurrealDB: Graph traversal bypasses table SELECT permissions (CVE-2026-63746)
Description
SurrealDB versions prior to 3.1.0 contain a vulnerability where authenticated users with select permission on a table can bypass select permissions on other tables reachable via graph edges or back-references. This allows reading records from those target tables despite their select permissions being set to NONE. The issue arises because certain graph traversal operations fetch records directly from storage without enforcing the target table's select permissions. The vulnerability affects confidentiality within the current database but does not impact namespace or database isolation. Versions 3.1.0 and later include a fix that enforces select permissions correctly during graph traversals.
CVSS v3.1
Score 6.5medium
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-63746 in SurrealDB allows an authenticated user with select permission on a source table to read records from any target table reachable through graph edges or REFERENCES TO back-references, regardless of the target table's select permissions. The root cause is that GraphEdgeScan and ReferenceScan operations bypass the usual permission checks by fetching records directly from storage without applying the Document::pluck_select permission filtering. This results in unauthorized data exposure along multi-hop graph traversal chains. The issue is confined to confidentiality within the same database and does not affect isolation boundaries. The vulnerability is fixed in SurrealDB version 3.1.0 by introducing a per-batch permission cache that enforces select permissions during graph traversals.
Potential Impact
An authenticated user with select permission on a table can read data from other tables connected by graph edges or back-references, even if those tables explicitly deny select permission. This leads to unauthorized disclosure of confidential data within the same database. The vulnerability does not affect integrity or availability, nor does it break namespace or database isolation boundaries.
Mitigation Recommendations
A patch is available in SurrealDB version 3.1.0 and later that fixes this permission bypass. Users should upgrade to version 3.1.0 or newer to remediate the issue. As a workaround, remove select permission on edge tables whose target tables should remain hidden. Additionally, use namespace or database isolation as the primary security boundary where possible.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-vjjx-rfw4-rmfc
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-63746"]
- Ecosystems
- ["crates.io"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 3.1
Threat ID: 6a9c2648acd9273b49fc9dc3
Added to database: 09/05/2026, 14:25:12 UTC
Last enriched: 09/07/2026, 14:22:59 UTC
Last updated: 10/19/2026, 06:48:18 UTC
Views: 22
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.