Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/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
Network-accessible endpoint requires Owner-role authentication (PR:H); attack is low-complexity with no user interaction; impact is availability-only as the server process aborts with no scope change.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
SurrealDB versions before 3.2.0 contain a denial of service vulnerability in the SurrealML header parser that allows authenticated Owner-role users to crash the server by uploading a malformed .surml file to the /ml/import endpoint. Attackers can supply non-numeric input-dimensions or other malformed header fields that trigger unchecked unwrap calls, causing a panic that aborts the entire server process and denies service to all databases.
AnalysisAI
Denial of service in SurrealDB's SurrealML header parser allows an authenticated Owner-role user to crash the entire server process by uploading a malformed .surml file to the /ml/import endpoint. Non-numeric input-dimensions or other invalid header fields trigger unchecked Rust unwrap() calls, causing a process-aborting panic that denies service to all databases hosted on the affected instance simultaneously. No public exploit code has been identified at time of analysis; vendor-released patch is available in SurrealDB 3.2.0.
Technical ContextAI
SurrealDB is a multi-model database system written in Rust that includes SurrealML - a feature for importing and executing machine learning models. The /ml/import HTTP endpoint accepts .surml files, a proprietary format containing model weights alongside structured metadata headers including input-dimensions (expected to be numeric). The root cause is CWE-20 (Improper Input Validation): the header parser applies Rust's .unwrap() to the result of parsing these header fields without prior validation. In Rust, an unwrap() on an Err or None value causes a panic; when this occurs on a server thread without proper catch handling, it aborts the entire server process. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N) confirms network reachability and high availability impact with no confidentiality or integrity impact. The fix in 3.2.0 is confirmed via GHSA-jwr6-6444-28xv.
RemediationAI
The primary remediation is upgrading SurrealDB to version 3.2.0 or later, which resolves the unchecked unwrap calls in the SurrealML header parser. See the vendor advisory at https://github.com/surrealdb/surrealdb/security/advisories/GHSA-jwr6-6444-28xv and the VulnCheck report at https://www.vulncheck.com/advisories/surrealdb-before-denial-of-service-via-malformed-surrealml-import. For deployments that cannot immediately upgrade, block or restrict HTTP POST access to the /ml/import endpoint at the network perimeter or reverse-proxy layer (e.g., return 403 for POST /ml/import at the load balancer); this eliminates the attack surface entirely at the cost of disabling all ML model import operations. A secondary hardening measure is auditing and reducing Owner-role assignments to the minimum necessary principals, which limits the set of accounts that could trigger this vulnerability - though this does not mitigate the risk from legitimately privileged users. Note that restricting /ml/import at the proxy layer will break any legitimate SurrealML workflows until the patch is applied.
Privilege escalation via second-order SurrealQL injection in SurrealDB before 2.0.5, 2.1.5, and 2.2.2 lets an authentica
Privilege escalation in SurrealDB before v3.1.0 lets unauthenticated attackers hijack the privileges of concurrently-act
Denial of service in SurrealDB before 3.1.0 lets an unauthenticated remote attacker crash the database with a single Web
Denial of service in SurrealDB before 3.1.0 lets an unauthenticated remote attacker crash the entire database process wi
Session hijacking in SurrealDB before 3.1.0 lets unauthenticated attackers enumerate attached session UUIDs through the
Cross-tenant authorization bypass in SurrealDB before 3.2.0 lets any authenticated user reach custom API endpoints belon
Arbitrary file read in SurrealDB before 3.1.5 lets an authenticated database user holding the EDITOR or OWNER role discl
Confused-deputy privilege escalation in SurrealDB before 2.5.0 and before 3.0.0-beta.3 lets a low-privileged user (e.g.
Denial of service in SurrealDB before 3.1.5 lets an authenticated user with query-execution privileges crash the entire
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
Information disclosure in SurrealDB before 3.1.0 allows authenticated record or scope users to bypass table-level SELECT
Denial of service in SurrealDB before 2.2.2 allows any authenticated user to crash the database by submitting a crafted
Same weakness CWE-20 – Improper Input Validation
View allSame technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-45905
GHSA-vm8f-3v3v-fhw4