---
id: CVE-2026-121416
title: >-
  SurrealDB 2.0.0 before 3.3.1 deny-funcs Capability Bypass via Method-Style
  Invocations
summary: >-
  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 c…
severity: high
cvss: 7.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-284
vendor: surrealdb
product: surrealdb
affected:
  - surrealdb >= 2.0.0 < 3.3.1
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-03T17:22:00.551016Z'
published: '2026-11-03'
updated: '2026-11-03'
sourceUpdated: '2026-11-03T18:30:31.664Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-121416'
references:
  - url: >-
      https://github.com/surrealdb/surrealdb/security/advisories/GHSA-p296-7pr4-87rr
    label: GitHub Security Advisory (GHSA-p296-7pr4-87rr)
  - url: >-
      https://www.vulncheck.com/advisories/surrealdb-2.0.0-before-3.3.1-deny-funcs-capability-bypass-via-method-style-invocations
    label: >-
      VulnCheck Advisory: SurrealDB 2.0.0 before 3.3.1 deny-funcs Capability
      Bypass via Method-Style Invocations
tags:
  - cve.org
epss: 0.00311
epssPercentile: 0.24133
ingestedAt: '2026-11-05T20:33:06.358Z'
---

## Overview

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.

## Affected

- `surrealdb >= 2.0.0 < 3.3.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
