SurrealDB has Silent Failure to Overwrite Table Definition of Relation Type
LowCVE-2024-58356 · Published Dec 16, 2024 · updated Sep 4, 2026
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| surrealdb crates.io | >= 2.0.0, < 2.1.4 | 2.1.4 |
Details and references
The `OVERWRITE` clause of the `DEFINE TABLE` statement would fail to overwrite data for tables that were defined with `TYPE RELATION`. Since table definitions include the `PERMISSIONS` clause, this failure would result in permissions not being overwritten as a result, which may potentially lead users to believe they have changed the table permissions when they have not. ### Impact If a user attempted to update table permissions of a table defined with `TYPE RELATION` using `DEFINE TABLE ... OVERWRITE`, permissions for the table would not be changed. This may allow a client that is authorized to run queries in a SurrealDB server to access certain data in that specific table that they were not intended to be able to access after the specified change in permissions. ### Patches The `DEFINE TABLE` statement has been updated to appropriately overwrite data for tables defined with `TYPE RELATION`. - Version 2.1.4 and later are not affected by this issue. ### Workarounds Users of tables with `TYPE RELATION` that may have been modified using the `OVERWRITE` clause in order to update permissions are advised to verify that the intended permissions are in place using the `INFO FOR DB` statement. Affected users who are unable to update and require updating permissions in a table with `TYPE RELATION` will be required to remove the table and define it from scratch with the intended permissions. Data can be preserved by backing it up to a temporary table. ### References - [#5260](https://github.com/surrealdb/surrealdb/pull/5260)
- CVSS 4.0
- CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-732
- Also known as
- CVE-2024-58356
- github.com/surrealdb/surrealdb/security/advisories/GHSA-27vq-hv74-7cqp
- nvd.nist.gov/vuln/detail/CVE-2024-58356
- github.com/surrealdb/surrealdb/pull/5260
- github.com/surrealdb/surrealdb/commit/2f9a58f830c24f107b4783da1f0704a502bc7734
- github.com/surrealdb/surrealdb
- www.vulncheck.com/advisories/surrealdb-before-permission-bypass-via-define-table-overwrite
More surrealdb advisories
All| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Nov 222024 | SurrealDB has an Uncaught Exception Sorting Tables by Random Order CVE-2024-58359Medium6.5fixed in 2.1.0 | Medium6.5 | 2.1.0 |
| Nov 222024 | SurrealDB has an Uncaught Exception Handling Nonexistent Role CVE-2024-58358Medium4.9fixed in 2.1.0 | Medium4.9 | 2.1.0 |
| Nov 222024 | SurrealDB has an Uncaught Exception in Function Generating Random Time CVE-2024-58357Medium6.5fixed in 2.1.0 | Medium6.5 | 2.1.0 |
| Oct 82024 | SurrealDB: Improper Authorization in Select Permissions CVE-2024-58367High6.5fixed in 2.0.4 | High6.5 | 2.0.4 |
| Oct 82024 | SurrealDB has an Uncaught Exception Handling Parsing Errors on Empty Strings CVE-2024-58361High6.5fixed in 2.0.4 | High6.5 | 2.0.4 |
| Sep 112024 | Untrusted Query Object Evaluation in RPC API CVE-2024-58362High8.8fixed in 1.5.5, 2.0.0-beta.3 | High8.8 | 1.5.5, 2.0.0-beta.3 |