CVE-2024-58356
mediumpriority · track · 25OT risk · elevatedEPSS 0.003 · 20 %ileEUUSEPSS · scored 2026-10-28
SurrealDB before 2.1.4 silently fails to overwrite table definitions when the DEFINE TABLE ... OVERWRITE clause is used on tables defined with TYPE RELATION. Because table definitions include the PERMISSIONS clause, an attempt to tighten a table's permissions via OVERWRITE does not take effect, and the administrator may incorrectly believe the change was applied. As a result, a client authorized to run queries may continue to access data in that table that the updated (but unapplied) permissions were intended to restrict.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–medium · 0.6–6.3
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (4)
Products and version ranges known to be affected.
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-27vq-hv74-7cqpSurrealDB has Silent Failure to Overwrite Table Definition of Relation Type2024-12-16ghsa · osvUS
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)
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (7)
External citations — patches, advisories, analysis.
- https://github.com/surrealdb/surrealdb/releasesPatchcnnvd
- https://github.com/surrealdb/surrealdb/security/advisories/GHSA-27vq-hv74-7cqpcnnvd
- https://www.vulncheck.com/advisories/surrealdb-before-permission-bypass-via-define-table-overwritecnnvd
- https://github.com/surrealdb/surrealdb/security/advisories/GHSA-27vq-hv74-7cqpenisa_euvd
- https://www.vulncheck.com/advisories/surrealdb-before-permission-bypass-via-define-table-overwriteenisa_euvd
- https://github.com/surrealdb/surrealdb/security/advisories/GHSA-27vq-hv74-7cqpVendor Advisorynvd
- https://www.vulncheck.com/advisories/surrealdb-before-permission-bypass-via-define-table-overwriteThird Party Advisorynvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan