CVE-2025-71397 SurrealDB before 2.2.2 CPU Exhaustion via nested FOR loops
Authenticated users with high privileges can cause server unresponsiveness by defining custom functions with nested loops that exhaust CPU resources.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2025-71397?
CVE-2025-71397 is a high-severity denial of service vulnerability in Surrealdb Surrealdb, published on 18 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 allows authenticated users with OWNER or EDITOR permissions (at the root, namespace, or database level) to define custom database functions via DEFINE FUNCTION using nested FOR loops. Although a single loop's iteration count is constrained, nesting multiple loops (e.g., each with 1,000,000 iterations) is not, so an attacker can execute a function that consumes all server CPU time. Configured timeouts do not stop the execution, rendering the server unresponsive to other queries and connections until it is manually restarted.
Weakness: CWE-835
Which versions are affected by CVE-2025-71397?
6 open source packages ship an affected version, including surrealdb. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
surrealdb crates.io | All versions | 2.0.5 |
surrealdb crates.io | All versions | 2.0.5 |
surrealdb crates.io | From 2.1.0 | 2.1.5 |
surrealdb crates.io | From 2.1.0 | 2.1.5 |
surrealdb crates.io | From 2.2.0 | 2.2.2 |
surrealdb crates.io | From 2.2.0 | 2.2.2 |
Products include Surrealdb Surrealdb.
How do I fix CVE-2025-71397?
Upgrade surrealdb to a fixed version for your release line: 2.0.5, 2.1.5 or 2.2.2.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-71397 being exploited?
There is no known exploitation of CVE-2025-71397 in the wild and no public exploit code.
Other vulnerabilities in Surrealdb Surrealdb
- CVE-2025-71392 SurrealDB before 2.2.2 SurrealQL Injection via export
- CVE-2026-63756 SurrealDB before 3.1.0 Privilege Escalation via RPC Session Race Condition
- CVE-2026-63747 SurrealDB before 3.1.0 Denial of Service via malformed RPC use
- CVE-2026-63757 SurrealDB before 3.1.0 Session Hijacking via /rpc sessions
- CVE-2026-63760 SurrealDB before 3.1.0 Denial of Service via JSON Parser
Sources
Also known as GHSA-33m9-4q46-9q55, GHSA-pxw4-94j3-v9pf.