chore(deps): update rust crate surrealdb to v2.6.1 [security]#62
Open
renovate[bot] wants to merge 1 commit intomasterfrom
Open
chore(deps): update rust crate surrealdb to v2.6.1 [security]#62renovate[bot] wants to merge 1 commit intomasterfrom
renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
a2c5c42 to
060f5f4
Compare
060f5f4 to
664e20e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.3.3→2.6.1GitHub Vulnerability Alerts
CVE-2025-11060
LIVE SELECTstatements are used to capture changes to data within a table in real time. Documents included inWHEREconditions andDELETEnotifications were not properly reduced to respect the querying user's security context. Instead the leaked documents reflect the context of the user triggering the notification.This allows a record or guest user with permissions to run live query subscriptions on a table to observe unauthorised records within the same table, when another user is altering or deleting these records, bypassing access controls.
Impact
A record or guest user with permissions to run live query subscriptions on a table is able to observe unauthorised records within the same table, with unauthorised records returned when deleted, or when records matching the WHERE conditions are created, updated, or deleted, by another user. This impacts confidentiality, limited to the table the attacker has access to, and with the data disclosed dependent of the actions taken by other users.
Patches
A patch has been created for the following versions:
Workarounds
Assess the impact of users with permissions on table records effectively having full read access to the table, use separate tables if required, with impacts to functionality.
GHSA-3v2x-9xcv-2v2v
Unprivileged users (for example, those with the database editor role) can create or modify fields in records that contain functions or
futures.Futuresare values which are only computed when the value is queried. The query executes in the context of the querying user, rather than the user who originally defined the future. Likewise, fields containing functions or custom-defined logic (closures) are executed under the privileges of the invoking user, not the creator.This results in a confused deputy vulnerability: an attacker with limited privileges can define a malicious function or future field that performs privileged actions. When a higher-privileged user (such as a root owner or namespace administrator) executes the function or queries or modifies that record, the function executes with their elevated permissions.
Impact
An attacker who can create or update function/future fields can plant logic that executes with a privileged user’s context. If a privileged user performs a write that touches the malicious field, the attacker can achieve full privilege escalation (e.g., create a root owner and take over the server).
If a privileged user performs a read action on the malicious field, this attack vector could still be potentially be used to perform limited denial of service or, in the specific case where the network capability was explicitly enabled and unrestricted, exfiltrate database information over the network.
Patches
Versions prior to 2.5.0 and 3.0.0-beta.3 are vulnerable.
For SurrealDB 3.0,
futuresare no longer supported, replaced bycomputedfields, only available within schemaful tables.Further to this patches for 2.5.0 and 3.0.0-beta.3:
auth_limiton defined apis, functions, fields and events, that limits execution to the permissions of the creating user or the invoking user, whichever is lower.closuresfrom being stored, that eliminates a potential attack surface. For 2.5.0 this can still be allowed by using theinsecure_storable_closurescapabilityFor existing apis, events, fields and functions defined prior to upgrading to 2.5.0 or 3.0.0-beta.3
auth_limitwill not apply, to avoid breaking changes. These will need to subsequently be redefined so thatauth_limitcan take effect.Workarounds
Users unable to patch are advised to evaluate their use of the database to identify where low privileged users are able to define logic subsequently executed by privileged users, such as apis, functions, futures fields and events, and recommended to minimise these instances.
References
Futures
Closures
SurrealDB Environment Variables
GHSA-xx7m-69ff-9crp
In SurrealDB instances with the scripting capability enabled (
--allow-scripting), users with the ability to run arbitrary queries can trigger a server crash due to a memory-safety bug in the underlying JS engine. The SurrealDB instance terminates instantly, requiring a manual restart.The query consists of using built-in string functions to construct a large string and passing it to the JavaScript runtime for compilation. The exact string size required to trigger the crash varies between SurrealDB versions.
Whilst exploiting the vulnerability requires users to be able to run arbitrary queries, if guest access (
--allow-guests), is enabled, then guests can perform this attack.Impact
Any user able to execute queries on a SurrealDB instance with scripting enabled (
--allow-scripting) can cause complete denial of service. The server process terminates immediately without graceful shutdown.The underlying cause of the vulnerability is a null pointer dereference in the
QuickJS-NGv0.8 JavaScript engine, this vulnerability cannot be exploited to execute arbitrary code, or compromise the integrity or confidentiality of data.Patches
Versions prior to SurrealDB
v2.6.1andv3.0.0-beta.3are vulnerable.The patches for SurrealDB
v2.6.1andv3.0.0-beta.3update therquickjsdependency fromv0.9.0tov0.11.0, which in turn uses an updated version ofQuickJS-NG.Workarounds
Deny execution of embedded scripting functions through the configuration of capabilities by starting SurrealDB with the
--deny-scriptingflag or the equivalent environment variableSURREAL_CAPS_DENY_SCRIPT=true. This has a usability implication, although scripting functions are disabled by default.Administrators can also use
--deny-arbitrary-queryto deny arbitrary querying by eitherguest,recordorsystemusers, or a combination of those, with impacts to functionality for those users.Links
SurrealDB Documentation - Capabilities
SurrealDB Documentation - Guest Access
SurrealQL Documentation - Scripting Functions
quickjs-ng v0.9 Release Notes
https://github.com/surrealdb/surrealdb/pull/6833
https://github.com/surrealdb/surrealdb/pull/6774
Release Notes
surrealdb/surrealdb (surrealdb)
v2.6.1: Release 2.6.1Compare Source
Release 2.6.1
v2.6.0: Release 2.6.0Compare Source
Release 2.6.0
v2.5.0: Release 2.5.0Compare Source
Release 2.5.0
v2.4.1: Release 2.4.1Compare Source
Release 2.4.1
v2.4.0: Release 2.4.0Compare Source
Release 2.4.0
v2.3.10: Release 2.3.10Compare Source
Release 2.3.10
v2.3.9: Release 2.3.9Compare Source
Release 2.3.9
v2.3.8: Release 2.3.8Compare Source
Release 2.3.8
v2.3.7: Release 2.3.7Compare Source
Release 2.3.7
v2.3.6: Release 2.3.6Compare Source
Release 2.3.6
v2.3.5: Release 2.3.5Compare Source
Release 2.3.5
v2.3.4: Release 2.3.4Compare Source
Release 2.3.4
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.