Skip to main content

SurrealDB CVE-2025-71398

| EUVDEUVD-2025-210489 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-07-18 VulnCheck GHSA-xhwm-9486-8rgr
5.8
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
5.8 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
9.1 CRITICAL

Network-exploitable by authenticated user; scope changes because impact falls on internal systems beyond SurrealDB; confidentiality high due to potential credential retrieval from internal services like IMDSv1.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:H/SI:H/SA:H

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Jul 18, 2026 - 15:17 EUVD
Source Code Evidence Fetched
Jul 18, 2026 - 14:09 vuln.today
Analysis Generated
Jul 18, 2026 - 14:09 vuln.today

DescriptionCVE.org

SurrealDB before 2.2.2 fails to validate HTTP redirects in http functions, allowing authenticated users to bypass deny-net restrictions by redirecting to blocked IP addresses. Attackers can host a public server that redirects to denied network targets, enabling server-side request forgery to access internal endpoints and retrieve sensitive information.

AnalysisAI

Server-side request forgery in SurrealDB before versions 2.0.5, 2.1.5, and 2.2.2 allows authenticated users to circumvent administrator-configured deny-net network restrictions by exploiting unchecked HTTP redirects in the native http::* query functions. An attacker operates a public HTTP server that issues 301 or 307 redirects to denied internal addresses; SurrealDB follows those redirects without re-validating the destination against the deny-net ACL, and returns the internal response directly to the attacker's query result. No public exploit code has been identified at time of analysis; this issue was discovered by cure53 during a commissioned security audit and penetration test of SurrealDB.

Technical ContextAI

SurrealDB is a multi-model database written in Rust that exposes built-in http::* functions (e.g., http::get, http::post) allowing SurrealQL queries to make outbound HTTP calls. Administrators restrict outbound access using the --allow-net and --deny-net capability flags - for example, 'surreal start --allow-net --deny-net 10.0.0.0/8' blocks access to RFC-1918 space while permitting all other destinations. The root cause is CWE-918 (Server-Side Request Forgery): the deny-net check is evaluated only against the initial request URL, not against redirect destinations. When an intermediate server returns HTTP 301 or 307 pointing to a denied IP range, SurrealDB's HTTP client follows the redirect without re-running the ACL check, fully bypassing the restriction. The affected package is identified by CPE cpe:2.3:a:surrealdb:surrealdb:*:*:*:*:*:*:*:* covering the Rust crate rust/surrealdb across all vulnerable version lines.

RemediationAI

Upgrade SurrealDB to one of the three patched releases - 2.0.5, 2.1.5, or 2.2.2 - which introduce an HTTP redirect limit and re-validate each redirect destination against the configured network capability list before following it. The upstream code fix is tracked in pull request https://github.com/surrealdb/surrealdb/pull/5597. If an immediate upgrade is not feasible, convert the network capability configuration from a deny-list to an explicit allowlist using 'surreal start --allow-net <trusted-cidr-only>' (or the SURREAL_CAPS_ALLOW_NET environment variable), permitting only the specific, fully trusted external endpoints the application actually calls - this eliminates the bypass vector entirely because no implicit broad access exists to redirect into. Be aware that switching to an allowlist will break any http::* calls to endpoints not explicitly listed, so auditing current usage before applying this workaround is necessary. The most conservative compensating control, if outbound HTTP calls are not required, is to start SurrealDB without any --allow-net flag, which disables the http::* capability entirely. Full advisory and workaround details are at https://github.com/surrealdb/surrealdb/security/advisories/GHSA-5q9x-554g-9jgg.

CVE-2025-71392 CRITICAL
9.4 Jul 18

Privilege escalation via second-order SurrealQL injection in SurrealDB before 2.0.5, 2.1.5, and 2.2.2 lets an authentica

CVE-2026-63756 CRITICAL
9.2 Jul 20

Privilege escalation in SurrealDB before v3.1.0 lets unauthenticated attackers hijack the privileges of concurrently-act

CVE-2026-63760 HIGH
8.7 Jul 20

Denial of service in SurrealDB before 3.1.0 lets an unauthenticated remote attacker crash the database with a single Web

CVE-2026-63747 HIGH
8.7 Jul 20

Denial of service in SurrealDB before 3.1.0 lets an unauthenticated remote attacker crash the entire database process wi

CVE-2026-63757 HIGH
8.7 Jul 20

Session hijacking in SurrealDB before 3.1.0 lets unauthenticated attackers enumerate attached session UUIDs through the

CVE-2026-63735 HIGH POC
8.6 Jul 20

Cross-tenant authorization bypass in SurrealDB before 3.2.0 lets any authenticated user reach custom API endpoints belon

CVE-2026-63739 HIGH
8.3 Jul 20

Arbitrary file read in SurrealDB before 3.1.5 lets an authenticated database user holding the EDITOR or OWNER role discl

CVE-2026-63763 HIGH
7.5 Jul 20

Confused-deputy privilege escalation in SurrealDB before 2.5.0 and before 3.0.0-beta.3 lets a low-privileged user (e.g.

CVE-2026-63737 HIGH
7.1 Jul 20

Denial of service in SurrealDB before 3.1.5 lets an authenticated user with query-execution privileges crash the entire

CVE-2025-71397 HIGH
7.1 Jul 18

Denial of service in SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 lets an authenticated user with

CVE-2026-63746 HIGH
7.1 Jul 20

Information disclosure in SurrealDB before 3.1.0 allows authenticated record or scope users to bypass table-level SELECT

CVE-2025-71391 HIGH
7.1 Jul 18

Denial of service in SurrealDB before 2.2.2 allows any authenticated user to crash the database by submitting a crafted

Share

CVE-2025-71398 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy