GitHub Advisoryadvisory · crates.io

GHSA-q729-696q-g9pq SurrealDB has Denial of Service in JSON parser due to nested objects

HIGH Published 2026-07-01 Modified 2026-09-04 Official page ↗
Aliases
CVE-2026-63760
Ecosystem
crates.io
Packages
surrealdb
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-674
Reviewed
2026-07-01

Affected packages

• crates.io surrealdb: < 3.1.0 → fixed in 3.1.0

Description

The SurrealDB value and JSON parser did not enforce the configured recursion depth limit when parsing nested `{`, ``, or `(` tokens. The expression parser already enforced the limit for these tokens; the value/JSON parser omitted it. An unauthenticated attacker could send a deeply nested JSON payload to the WebSocket `/rpc` endpoint and exhaust server memory, crashing the process. This is an incomplete fix for [GHSA-6r8p-hpg7-825g, which addressed the same class of bug in the expression parser but did not cover the value/JSON parser code path. Impact An unauthenticated remote attacker can crash a SurrealDB server with a single WebSocket message. No credentials or query execution privileges are required. Patches A patch enforces the configured recursion depth limit in `parse_value` and `parse_json`, bringing them in line with the rest of the parser. • Versions 3.1.0 and later are not affected by this issue. Workarounds Restrict network access to the WebSocket `/rpc` endpoint to trusted clients.

Related

Alias · CVE (1)

  • CVE-2026-63760 SurrealDB before 3.1.0 fails to enforce the configured recursion depth limit in the value and JSON parser when processing nested braces,… vulnerability

Weakness · CWE (1)

  • CWE-674 Uncontrolled Recursion weakness

References