Read the docs

Capability bypass in SurrealDB lets users run denied functions

Priority LOW 31CWE-284Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Security bypass
Confidentiality · integrity · availability
High · Low · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-284.

Summary

SurrealDB from 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 runs resolved functions without a capability check. An authenticated user who can submit queries can run denied functions such as file::* through method syntax, reading and writing file bucket data. This is classified as CWE-284, Improper Access Control.

Written with Claude Haiku 5.5 from the sources below · 2026-11-03

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00311 24th percentileScored 2026-11-07
Fix Fixed surrealdb (surrealdb): 3.3.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
surrealdbsurrealdb2.0.0 to before 3.3.13.3.1Patch availableCNA
  • surrealdb Vendorsurrealdb Affected 2.0.0 to before 3.3.1 Fixed in 3.3.1 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:surrealdb:surrealdb:*:*:*:*:*:*:*:*——surrealdb
  • cpe:2.3:a:surrealdb:surrealdb:*:*:*:*:*:*:*:* Versions — — ·surrealdb

Remediation

Upgrade SurrealDB to version 3.3.1, which fixes the flaw and is the first version not affected.

Written with Claude Haiku 5.5 from the sources below · 2026-11-03

  • Fix · CNA surrealdb (surrealdb) Fixed in 3.3.1

Timeline

  1. 2026-11-03 Threatist record created from CVE-2026-121416
  2. 2026-11-03 Alias added: GHSA-347j-rmf7-f74x
  3. 2026-11-03 CISA SSVC decision points changed
  4. 2026-11-03 Priority changed: MEDIUM → LOW

References

  • TI-2026-84300 SurrealDB index planner lets users infer restricted fields CVSS 4.0MEDIUM 5.3
  • TI-2026-84304 Server-side request forgery in SurrealDB via JWKS URL default ports CVSS 4.0MEDIUM 5.1
  • TI-2026-45344 SurrealDB before 3.1.0 Session Hijacking via /rpc sessions CVSS 4.0HIGH 8.7
  • TI-2024-38452 SurrealDB before 1.1.0 Denial of Service via HTTP Headers CVSS 4.0HIGH 8.7
  • TI-2026-45347 SurrealDB before 3.1.0 Denial of Service via JSON Parser CVSS 4.0HIGH 8.7
  • TI-2026-45334 SurrealDB before 3.1.0 Denial of Service via malformed RPC use CVSS 4.0HIGH 8.7
See all 76 →

Sources