Skip to main content
CVE-2026-121417VulnerabilityPublished

SurrealDB before 3.3.0 contains a use-after-free vulnerability in surrealdb-core KV backends that pass borrowed

Source GCVE Database

0
Compare
Authoritative record:CVE-2026-121417· High 8.8

Not known to be exploited · CVSS 8.8 High : upgrade to 3.3.0 soon.

Data as of 3 Nov 2026, 16:28 UTC

CVSS 4.0 base score
8.8High
How severe the flaw is on the 0–10 CVSS scale.

Thin evidence

One scorer or none
CVSS scores by source
CNA (VulnCheck)CVSS 4.08.8
CNA (VulnCheck)CVSS 3.17.8
Patch
Available – fixed in 3.3.0
CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 3 Nov 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 3 Nov 2026.

What to do

Upgrade surrealdb to 3.3.0.

Affected software

ProductAffectedFixed in
surrealdbsurrealdbAffected
  • <3.3.0
Fixed in
  • 3.3.0
crates.iosurrealdbpkg:cargo/surrealdbOther threatsAffected
  • <3.3.0
Fixed in
  • 3.3.0

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

A fixed version is available starting from SurrealDB 3.3.0. Users should upgrade to version 3.3.0 or later to remediate this vulnerability. No other mitigation or temporary workaround is indicated. Since this is not a cloud service, remediation depends on applying the official patch.

Description

SurrealDB versions before 3.3.0 have a use-after-free vulnerability in the surrealdb-core key-value backends. This flaw occurs when borrowed transaction state is passed into affinitypool::spawn_local closures that rely on future Drop for safety. If a Rust embedder leaks a dispatched future and drops the transaction, pool workers may access freed memory, potentially causing crashes or memory corruption.

References

Community reviews

Loading reviews…