CVE-2026-121418 in SurrealDBinfo

Summary

by MITRE • 11/03/2026

SurrealDB from 3.1.0 before 3.3.0 contains an incorrect authorization vulnerability that allows record users to infer restricted field values because the streaming planner uses indexes on fields with restrictive SELECT permissions. Attackers can issue full-text MATCHES, compound B-tree, or HNSW KNN queries against restricted fields to learn which records contain guessed values or nearest vectors.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 11/03/2026

SurrealDB versions ranging from 3.1.0 up to but not including 3.3.0 are affected by a critical authorization bypass vulnerability that stems from an incorrect implementation of access control mechanisms within the database engine's query execution layer. This flaw specifically impacts record-level permissions, allowing authenticated users with restricted read access on certain fields to inadvertently leak information about those protected values. The root cause lies in how the streaming planner handles index utilization during query processing. When a user executes queries against fields for which they have limited or no direct SELECT permission, the database engine incorrectly leverages existing indexes associated with those fields to optimize search performance rather than strictly enforcing access controls at the data retrieval stage.

The technical mechanism of this vulnerability exploits the side effects of efficient index-based searching methods such as full-text MATCHES queries, compound B-tree lookups, and HNSW KNN vector searches. In a properly secured system, any attempt by an unauthorized user to query restricted fields should result in immediate denial or return empty results without revealing structural information about the underlying data distribution. However, due to this flaw, the database uses indexes on these protected columns to determine record existence and proximity. Consequently, attackers can perform targeted queries using guessed values for restricted text fields or specific vectors for embedded fields. If a query returns records indicating matches or nearest neighbors, it confirms that those guessed values exist in the database. Conversely, if no results are returned, the attacker learns that the value does not exist within the indexed scope of that field.

This capability effectively transforms what should be an access control failure into a sophisticated inference attack against data confidentiality. By iteratively querying with different guesses or vector probes, an adversary can reconstruct sensitive information stored in restricted fields without ever being granted explicit permission to read them directly. This is particularly dangerous for applications relying on SurrealDB for storing personally identifiable information, financial records, or proprietary business logic where field-level security is a primary defense mechanism. The vulnerability undermines the principle of least privilege by allowing indirect data exfiltration through timing and result-set analysis rather than direct unauthorized reads.

From an industry standard perspective, this issue aligns with CWE-269 Improper Privilege Management, as it involves a failure to correctly enforce user roles and permissions during query execution. It also relates closely to CWE-200 Information Exposure Through Error Messages or Side Channels, specifically through the side channel of index usage patterns revealing data existence. In terms of the MITRE ATT&CK framework, this vulnerability facilitates Data Exfiltration via Application Layer Protocol by allowing an attacker to extract sensitive information from a database service using standard query interfaces that are supposed to be restricted. The attack vector is classified as Local or Remote depending on network exposure but relies primarily on logical exploitation rather than buffer overflows or code injection techniques.

To mitigate this vulnerability, organizations running SurrealDB must immediately upgrade to version 3.3.0 or later where the streaming planner has been corrected to respect field-level permissions during index-based query planning. Until an upgrade is feasible, administrators should consider restricting network access to the database instance and auditing user roles to ensure that only highly trusted accounts have write privileges that create indexes on sensitive fields. Additionally, implementing strict rate limiting can help mitigate the speed of inference attacks by slowing down iterative guessing attempts. Security teams should also review application logic to avoid relying solely on field-level permissions for protecting high-value data without additional encryption or obfuscation layers at the application level.

Responsible

VulnCheck

Reservation

11/03/2026

Disclosure

11/03/2026

Moderation

accepted

EPSS

0.00204

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!