{ "schema_version": "1.4.0", "id": "GHSA-wjjj-24cx-f28g", "modified": "2026-07-01T20:04:22Z", "published": "2026-07-01T20:04:22Z", "aliases": [], "summary": "SurrealDB has unauthenticated remote DoS via malformed RPC `use` call", "details": "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.\n\n### Impact\n\nAn 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.\n\n### Patches\n\nA patch has been introduced that returns a typed `invalid_params` response when `db` is set on a session with no `ns`, replacing the panic.\n\n- Versions 3.1.0 and later are not affected by this issue.\n\n### Workarounds\n\nAffected 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.", "severity": [ { "type": "CVSS_V3", "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" } ], "affected": [ { "package": { "ecosystem": "crates.io", "name": "surrealdb" }, "ranges": [ { "type": "ECOSYSTEM", "events": [ { "introduced": "0" }, { "fixed": "3.1.0" } ] } ] } ], "references": [ { "type": "WEB", "url": "https://github.com/surrealdb/surrealdb/security/advisories/GHSA-wjjj-24cx-f28g" }, { "type": "WEB", "url": "https://github.com/surrealdb/surrealdb/commit/1537ec4fbd789c61a5b43b648a854577dbe31a34" }, { "type": "PACKAGE", "url": "https://github.com/surrealdb/surrealdb" } ], "database_specific": { "cwe_ids": [ "CWE-248", "CWE-754" ], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2026-07-01T20:04:22Z", "nvd_published_at": null } }