CVE-2026-121416 Details
Description
SurrealDB 2.0.0 before 3.3.1 does not enforce --deny-funcs restrictions on method-style function calls in the streaming engine, because MethodPart::evaluate invokes resolved functions without a capability check. Authenticated users who can submit queries can run denied functions via method syntax, e.g. [1,2].map() or $f.put()/$f.get() to write and read file bucket data despite file::* denials.
A vulnerability exists in SurrealDB versions 2.0.0 prior to 3.3.1, where the database does not properly enforce function denial restrictions on method-style function calls within the streaming engine. This oversight allows authenticated users who can submit queries to invoke denied functions using method syntax, such as '[1,2].map()' or '$f.put()/$f.get()' to manipulate file bucket data, circumventing 'file::*' denials. The issue arises because the 'MethodPart::evaluate' function calls resolved functions without performing the necessary capability checks, leaving a gap in the application's function-level security control.
Users can update to SurrealDB version 3.3.1 or later, where this vulnerability has been patched.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Nov 3, 2026CISA-ADP
Assessed Nov 3, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-284 | Improper Access Control | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| SurrealDB | >= 2.0.0, < 3.3.1 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Nov 3, 2026 | CVE Modified | CISA-ADP |
| Nov 3, 2026 | New CVE Received | [email protected] |
Volerion