Use-after-free in SurrealDB KV backends via affinitypool spawn_local
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
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
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
- 2026-11-03 Threatist record created from CVE-2026-121417
- 2026-11-03 Alias added: GHSA-7wmw-j7vc-669r
- 2026-11-05 Priority changed: MEDIUM → LOW
References
Patch 1
More surrealdb vulnerabilities
- 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
Sources
- CVE-2026-121417 · CVE Program
- CVE-2026-121417 · NVD
- FIRST EPSS
- GHSA-7wmw-j7vc-669r · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences