# SurrealDB privilege escalation via HTTP RPC session race condition

Source: https://junglewise.ai/threats/surrealdb-privilege-escalation-via-http-rpc-session-race-condition-871af91c  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-01. Updated: 2026-07-01  
License: CC BY 4.0 with a link back

Severity: high · CVSS 8.1 · Published 2026-07-01

SurrealDB, a multi-model database, contains a vulnerability in its primary communication interface that allows an attacker to hijack active user sessions. By sending specifically timed requests, an unauthenticated attacker can inherit the permissions of a legitimate user who is currently logged in. This could lead to unauthorized access to sensitive data, data deletion, or full administrative control over the database instance.

Technologies: [surrealdb (crates.io)](https://junglewise.ai/threats/technologies/surrealdb). Vendors: [crates.io](https://junglewise.ai/threats/vendors/crates-io).

## Quick answers

**Is This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** High severity, with a CVSS score of 8.1, published 1 July 2026.

**Which products and versions are affected?** surrealdb (crates.io) < 3.1.0.

**Is there a fix for This vulnerability?** A patch was published on 2026-07-01: Patch confirmed in version 3.1.0 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is This vulnerability attacked?** It is attacked over the network, in a hosted service.

**Am I affected?** Check whether you run surrealdb (crates.io) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

A time-of-check/time-of-use (TOCTOU) race condition exists in the HTTP /rpc endpoint of SurrealDB due to improper isolation of internal session state. The handler fails to bind incoming requests to unique session contexts, instead utilizing a shared mutable state for authentication. An attacker can exploit this by sending concurrent requests; if an unauthenticated request is processed while an authenticated request's session context is active but not yet cleared, the unauthenticated request executes with the higher privilege level. This can result in full privilege escalation to root or namespace-level access. The vulnerability is patched in version 3.1.0 by implementing per-request session isolation using server-side UUIDs.

## Affected products

- SurrealDB SurrealDB < 3.1.0

## Timeline

- 2026-05-27: disclosed
- 2026-07-01: advisory: GitHub Advisory published
- 2026-07-01: patched: Patch confirmed in version 3.1.0

## References

- [https://api.github.com/users/addcontent](https://api.github.com/users/addcontent)
- [https://github.com/addcontent](https://github.com/addcontent)
- [https://api.github.com/users/addcontent/gists%7B/gist_id%7D](https://api.github.com/users/addcontent/gists%7B/gist_id%7D)
- [https://api.github.com/users/addcontent/repos](https://api.github.com/users/addcontent/repos)
- [https://avatars.githubusercontent.com/u/59762500?v=4](https://avatars.githubusercontent.com/u/59762500?v=4)
- [https://api.github.com/users/addcontent/events%7B/privacy%7D](https://api.github.com/users/addcontent/events%7B/privacy%7D)

## Related threats

- [SurrealDB use-after-free in KV backends via affinitypool spawn_local](https://junglewise.ai/threats/cve-2026-121417-surrealdb-before-3-3-0-contains-a-use-after-free-vulnerability)
- [SurrealDB JSON parser denial of service via uncontrolled recursion](https://junglewise.ai/threats/surrealdb-json-parser-denial-of-service-via-uncontrolled-recursion-3037f8a0)
- [SurrealDB ES512 algorithm silently downgraded to ES384](https://junglewise.ai/threats/surrealdb-es512-algorithm-silently-downgraded-to-es384-f0af29b8)
- [SurrealDB permission bypass via WHERE clause evaluation](https://junglewise.ai/threats/surrealdb-permission-bypass-via-where-clause-evaluation-afa6f001)
- [SurrealDB authorization bypass in KILL statement](https://junglewise.ai/threats/surrealdb-authorization-bypass-in-kill-statement-fc230d0f)
