Read the docs

Use-after-free in SurrealDB KV backends via affinitypool spawn_local

Priority LOW 37CWE-416Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
High
Attack requirements
Present
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-416 and the CVSS impact.

Summary

SurrealDB before 3.3.0 contains a use-after-free flaw in surrealdb-core KV backends that pass borrowed transaction state into affinitypool::spawn_local closures. A Rust embedder that leaks a dispatched future, for example with mem::forget, and then drops the transaction causes pool workers to read and write freed memory (CWE-416). A local user with low privileges can cause crashes or memory corruption, and the attack complexity is high.

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

Description from the CNA

SurrealDB before 3.3.0 contains a use-after-free vulnerability in surrealdb-core KV backends that pass borrowed transaction state into affinitypool::spawn_local closures relying on future Drop for safety. Rust embedders that leak a dispatched future (e.g. via mem::forget) and drop the transaction cause pool workers to read and write freed memory, risking crashes or memory corruption.

Why it matters now

EPSS 0.002 9th percentileScored 2026-11-07
Fix Fixed surrealdb (surrealdb): 3.3.0

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
surrealdbsurrealdbbefore 3.3.03.3.0Patch availableCNA
  • surrealdb Vendorsurrealdb Affected before 3.3.0 Fixed in 3.3.0 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.0 or later, which is the fixed version for the surrealdb package.

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

  • Fix · CNA surrealdb (surrealdb) Fixed in 3.3.0

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    surrealdb 3.3.0

    7 records Highest priority Priority MEDIUM 2 MEDIUM, 5 LOW

    Other records, highest priority first

    • TI-2026-84300 SurrealDB index planner lets users infer restricted fieldsPriority MEDIUM 57
    • TI-2026-84304 Server-side request forgery in SurrealDB via JWKS URL default portsPriority MEDIUM 56
    • TI-2026-84301 MCP session hijack in SurrealDB via shared BoundSubject fingerprintPriority LOW 37

Timeline

  1. 2026-11-03 Threatist record created from CVE-2026-121417
  2. 2026-11-03 Alias added: GHSA-7wmw-j7vc-669r
  3. 2026-11-05 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