SurrealDB has unauthenticated remote DoS via malformed RPC `use` call
High7.5Published Jul 1, 2026
A single unauthenticated WebSocket message to `/rpc` crashed the SurrealDB server. Sending `use { db: "x" }` without first selecting a namespace hit `.expect("namespace should be set")` in the `use` handler; because `surrealdb-core` is built with `panic = 'abort'`, the panic terminated the process. `use` is callable before `signin`, and the per-method capability check passes by default for guest callers , so no credentials, token, or `--allow-guests` flag are required. ### Impact An unauthenticated remote attacker who could reach the `/rpc` endpoint could crash the SurrealDB server with a single WebSocket message. No credentials, token, session knowledge, or capability are required. ### Patches A patch has been introduced that returns a typed `invalid_params` response when `db` is set on a session with no `ns`, replacing the panic. - Versions 3.1.0 and later are not affected by this issue. ### Workarounds Affected users who are unable to update should restrict network access to the `/rpc` endpoint to trusted clients, and run SurrealDB under a process supervisor that restarts on crash.
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| surrealdb crates.io | < 3.1.0 | 3.1.0 |
Details and references
More SurrealDB advisories
All SurrealDB| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Jul 1 | SurrealDB: Edge PERMISSIONS FOR delete bypassed when a connected node is deleted | Medium5.4 | 3.1.0 |
| Jul 1 | SurrealDB: ES512 silently downgraded to ES384 due to jsonwebtoken crate limitation | Medium4.3 | 3.1.0 |
| Jul 1 | SurrealDB: Field-level SELECT permissions bypassed via indexed COUNT fast paths | Medium4.3 | 3.1.0 |
| Jul 1 | SurrealDB: USE NS/DB implicit creation bypasses DEFINE authorization | Medium6.5 | 3.1.0 |
| Jul 1 | SurrealDB: Port-specific --deny-net rules silently bypassed on HTTP redirect | Medium6.4 | 3.1.0 |
| Jul 1 | SurrealDB: Authenticated subscribers can read records hidden by SELECT permissions via LIVE subscriptions | Medium4.3 | 3.1.0 |