Skip to content
OpenAdvisories
High · 8.8 CVE-2024-58362 EUVD-2024-55678GHSA-64f8-pjgr-9wmrGHSA-xw2c-hrr9-4xwr

SurrealDB before 1.5.5 Query Injection via RPC API

Published Jul 18, 2026 · Updated Jul 28, 2026 · Assigned by VulnCheck

Description

SurrealDB before 1.5.5 (and 2.0.0-beta before 2.0.0-beta.3) accepts an arbitrary object in the signin and signup operations of the RPC API without recursively validating it for non-computed values. When a record access method defines a SIGNIN or SIGNUP query and the RPC API is exposed to untrusted users, an unauthenticated attacker can encode a binary object containing a subquery using the bincode serialization format and supply it in place of credentials. The subquery is then executed within the database owner's SIGNIN/SIGNUP query under a system user session with the editor role, allowing the attacker to select, create, update, and delete non-IAM resources (though not view the query results directly, and not affect IAM resources, which require the owner role).

Affected products

VendorProductAffectedFixed
surrealdb surrealdb < 1.5.5, 2.0.0-beta.1 – < 2.0.0-beta.3, < 1.5.2 1.5.5

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io surrealdb < 1.5.5 1.5.5 GHSA-64f8-pjgr-9wmr
crates.io surrealdb >= 2.0.0-beta.1, < 2.0.0-beta.3 2.0.0-beta.3 GHSA-64f8-pjgr-9wmr
crates.io surrealdb-core < 1.5.2 1.5.2 GHSA-64f8-pjgr-9wmr

References