SurrealDB before 2.2.2 CPU Exhaustion via nested FOR loops
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-835.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| surrealdb | surrealdb | 2.2.0 to before 2.2.2 | 2.2.2 | Patch available | CNA |
| surrealdb | surrealdb | 2.1.0 to before 2.1.5 | 2.1.5 | Patch available | CNA |
| surrealdb | surrealdb | before 2.0.5 | 2.0.5 | Patch available | CNA |
- surrealdb Vendorsurrealdb Affected 2.2.0 to before 2.2.2 Fixed in 2.2.2 Patch available CNA
- surrealdb Vendorsurrealdb Affected 2.1.0 to before 2.1.5 Fixed in 2.1.5 Patch available CNA
- surrealdb Vendorsurrealdb Affected before 2.0.5 Fixed in 2.0.5 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:surrealdb:surrealdb:*:*:*:*:*:*:*:* | before 2.0.5; 2.1.0 to before 2.1.5; 2.2.0 to before 2.2.2 | Vulnerable | surrealdb |
- cpe:2.3:a:surrealdb:surrealdb:*:*:*:*:*:*:*:* Versions before 2.0.5; 2.1.0 to before 2.1.5; 2.2.0 to before 2.2.2 Vulnerable ·surrealdb
Remediation
- Fix · CNA surrealdb (surrealdb) Fixed in 2.2.2
- Fix · CNA surrealdb (surrealdb) Fixed in 2.1.5
- Fix · CNA surrealdb (surrealdb) Fixed in 2.0.5
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
surrealdb 2.1.5, 2.2.2
8 records Highest priority Priority MEDIUM 1 MEDIUM, 7 LOW
Other records, highest priority first
- TI-2025-43508 SurrealDB before 2.2.2 SurrealQL Injection via exportPriority MEDIUM 43
- TI-2025-43511 SurrealDB before 2.2.2 Memory Exhaustion via string::replacePriority LOW 32
- TI-2025-43507 SurrealDB before 2.2.2 Denial of Service via /sql endpointPriority LOW 32
- Release ·
surrealdb 2.0.5
7 records Highest priority Priority MEDIUM 1 MEDIUM, 6 LOW
Other records, highest priority first
- TI-2025-43508 SurrealDB before 2.2.2 SurrealQL Injection via exportPriority MEDIUM 43
- TI-2025-43511 SurrealDB before 2.2.2 Memory Exhaustion via string::replacePriority LOW 32
- TI-2025-43507 SurrealDB before 2.2.2 Denial of Service via /sql endpointPriority LOW 32
Timeline
- 2026-10-02 Threatist record created from CVE-2025-71397
- 2026-10-03 Alias added: GHSA-33m9-4q46-9q55
- 2026-10-29 Affected versions changed · CNA
References
More Surrealdb vulnerabilities
- TI-2026-45344 SurrealDB before 3.1.0 Session Hijacking via /rpc sessions CVSS 4.0HIGH 8.7
- TI-2024-38452 SurrealDB before 1.1.0 Denial of Service via HTTP Headers CVSS 4.0HIGH 8.7
- TI-2026-45347 SurrealDB before 3.1.0 Denial of Service via JSON Parser CVSS 4.0HIGH 8.7
- TI-2026-45334 SurrealDB before 3.1.0 Denial of Service via malformed RPC use CVSS 4.0HIGH 8.7
- TI-2025-43508 SurrealDB before 2.2.2 SurrealQL Injection via export CVSS 4.0CRITICAL 9.4
- TI-2026-45343 SurrealDB before 3.1.0 Privilege Escalation via RPC Session Race Condition CVSS 4.0CRITICAL 9.2
Sources
- CVE-2025-71397 · CVE Program
- CVE-2025-71397 · NVD
- FIRST EPSS
- GHSA-33m9-4q46-9q55 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences