☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H 🐛 CWE-248
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-58369

CVE-2024-58369 Denial of Service in Surrealdb
📅 PUBLISHED: 2026-07-18 14:17 UTC 🔄 UPDATED: 2026-09-26 06:29 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.45%
👁️
0.45% probability
11.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Affected: Surrealdb — upgrade to patched release
CVSS VECTOR BREAKDOWN 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: N Integrity None
A: H Availability High
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

This report details CVE-2024-58369, a high-severity denial-of-service (DoS) vulnerability in SurrealDB versions prior to 1.1.1. The flaw allows an authenticated client to crash the SurrealDB server by invoking custom parameters or functions at root or namespace levels, which are unsupported for such operations. This results in a server panic and immediate service unavailability.

The business impact is significant for organizations using SurrealDB as a critical data store, particularly in real-time applications, IoT backends, and web services. A successful attack can cause prolonged downtime, data unavailability, and potential cascading failures in dependent systems. The likely attacker is an authenticated user with low privileges, such as a disgruntled insider or an external attacker who has compromised a low-privilege account.

The vulnerability is classified as CWE-754 (Improper Check for Unusual or Exceptional Conditions). The attack vector is network-based, requires low attack complexity, and low privileges. The CVSS score is 6.5 (Medium), but the EPSS probability is 0.0%, indicating no observed exploitation in the wild as of the report date. However, the lack of a patch and the simplicity of the attack vector elevate the urgency for organizations using affected versions. SurrealDB is the affected vendor, with versions before 1.1.1 being vulnerable. A patch is available in version 1.1.1. This CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

The CVSS 3.1 vector string is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H.

  • Attack Vector (AV): Network (N) - The vulnerability is exploitable remotely over the network. An attacker can send crafted requests to the SurrealDB server.
  • Attack Complexity (AC): Low (L) - No special conditions or complex attack sequences are required. The attack relies on a simple, valid request that triggers the server panic.
  • Privileges Required (PR): Low (L) - The attacker must be an authenticated user. However, no administrative or high-level privileges are needed; any authorized client can trigger the vulnerability.
  • User Interaction (UI): None (N) - The attack does not require any action from another user. The attacker can execute the exploit autonomously.
  • Scope (S): Unchanged (U) - The vulnerability affects only the SurrealDB server component. The impact is confined to the vulnerable resource.
  • Confidentiality (C): None (N) - The vulnerability does not lead to unauthorized data disclosure.
  • Integrity (I): None (N) - The vulnerability does not allow data modification.
  • Availability (A): High (H) - The vulnerability causes a complete server crash (panic), resulting in total loss of availability for the SurrealDB service.

Qualitative Severity Label: Medium (6.5)

EPSS Interpretation: The EPSS score of 0.0% indicates that, as of the report date, there is no evidence of exploitation in the wild. This is common for newly published vulnerabilities. However, this score can change rapidly once exploit code or detailed analysis becomes public.

Historical Comparison: Similar DoS vulnerabilities in database systems (e.g., MongoDB, Elasticsearch) due to improper input validation have historically been weaponized quickly by both attackers and security researchers. The low complexity and low privilege requirement make this a prime candidate for future exploitation.

Temporal and Environmental Scores: The temporal score is elevated due to the lack of a patch for many users. The environmental score can be higher for organizations where SurrealDB is a critical, single point of failure.

Technical Deep Dive & Attack Mechanics

Root Cause Analysis: The vulnerability stems from a missing validation check in SurrealDB's function and parameter invocation logic. The code fails to verify that the invocation level (root or namespace) is valid for the specific custom parameter or function being called. This leads to an unhandled exception or a nil pointer dereference, causing the server to panic and crash.

Step-by-Step Attack Mechanics:

  1. Authentication: The attacker authenticates to the SurrealDB server as a valid user. This can be done using any valid credentials, including low-privilege accounts.
  2. Crafting the Request: The attacker crafts a SurrealQL query that attempts to invoke a custom parameter or function at the root or namespace level. For example, a query like DEFINE PARAMETER $test ON ROOT; or a function call at an unsupported scope.
  3. Sending the Request: The attacker sends the crafted query to the SurrealDB server over the network (typically port 8000 for HTTP or a custom TCP port).
  4. Server Panic: The server processes the request. Due to the missing validation, the code enters an unexpected state, leading to a panic (e.g., a nil pointer dereference or an unhandled exception).
  5. Denial of Service: The server process crashes, making the database unavailable to all legitimate users. The service must be manually restarted.

Attack Surface: The primary attack surface is the SurrealDB network interface (HTTP or TCP) that accepts SurrealQL queries.

Pre-conditions:

  • Network access to the SurrealDB server.
  • Valid authentication credentials (any privilege level).

Attack Variants: The attack can be executed using different SurrealQL commands that invoke custom parameters or functions at unsupported levels. The exact syntax may vary, but the core mechanic is the same.

Why Standard Defenses May Fail:

  • WAF/IDS: Standard web application firewalls may not have signatures for this specific SurrealQL syntax. The request may appear as a legitimate, albeit unusual, database query.
  • Authentication: The attacker is already authenticated, so authentication-based defenses are bypassed.
  • Rate Limiting: Rate limiting may slow down an attacker but will not prevent the crash from a single malicious request.

Vulnerable vs. Patched Code Analysis

Vulnerable Code (Pseudocode):

function invoke_parameter(parameter_name, level):
    // Missing validation: does not check if 'level' is valid for this parameter
    parameter = get_parameter(parameter_name)
    return parameter.value

Patched Code (Pseudocode):

function invoke_parameter(parameter_name, level):
    // Added validation: checks if the invocation level is supported
    if not is_valid_level_for_parameter(parameter_name, level):
        throw InvalidLevelException("Cannot invoke parameter at this level")
    parameter = get_parameter(parameter_name)
    return parameter.value

Component: The bug resides in the core query execution engine, specifically in the module responsible for resolving and invoking custom parameters and functions.

Patch Sufficiency: The patch adds a validation check that prevents the invocation of custom parameters and functions at unsupported levels. This is a sufficient fix for the described vulnerability.

Regression Considerations: The patch should not introduce regressions for legitimate use cases, as it only blocks operations that were previously unsupported and causing crashes. Teams should test their custom parameters and functions after applying the patch to ensure they are defined at the correct levels.

Timeline & Disclosure History

  • CVE Publication Date: 2026-07-18T14:17:10.003
  • Estimated Discovery Timeline: The vulnerability was likely discovered and reported to SurrealDB prior to the publication date. The exact discovery date is unknown.
  • Disclosure Process: The CVE was published by the CNA (likely MITRE or SurrealDB themselves). The vendor coordination process is unknown.
  • Known Exploitation in the Wild: No known active exploitation as of 2026-07-18.
  • CISA KEV Addition Date: Not applicable. This CVE is not listed in the CISA KEV.

Threat Intelligence Context

  • Threat Actor Profile: This vulnerability is most likely to be exploited by script kiddies, hacktivists, or disgruntled insiders with access to the database. Advanced Persistent Threat (APT) groups may also use it for disruptive operations, but it is not their primary tool.
  • Attack Campaign Context: No specific attack campaigns are known to be using this CVE.
  • Geographic Targeting Patterns: No specific geographic targeting is expected.
  • Industry Verticals Most at Risk: Any industry using SurrealDB, including technology, finance, e-commerce, and IoT, is at risk.
  • Historical Connection: This vulnerability is similar to other DoS flaws in database systems caused by improper input validation, such as CVE-2021-25741 (Kubernetes) and various MongoDB DoS vulnerabilities.

Exploitation & Lab Setup

Red Team Section

Lab Setup:

  1. Docker Environment:
    docker run -d --name surrealdb-vuln -p 8000:8000 surrealdb/surrealdb:1.0.0 start --log trace --user root --pass root
    
  2. Prerequisites:
    • Docker installed.
    • SurrealDB CLI or any HTTP client (e.g., curl, Postman).

Exploitation Walkthrough:

  1. Authenticate:
    curl -X POST http://localhost:8000/sql \
      -H "Accept: application/json" \
      -H "NS: test" \
      -H "DB: test" \
      -u "root:root" \
      -d "SELECT * FROM user;"
    
  2. Trigger the Vulnerability:
    curl -X POST http://localhost:8000/sql \
      -H "Accept: application/json" \
      -H "NS: test" \
      -H "DB: test" \
      -u "root:root" \
      -d "DEFINE PARAMETER \$test ON ROOT;"
    
    Note: The exact syntax may vary. The goal is to invoke a custom parameter or function at an unsupported level.
  3. Expected Output: The server will crash. The Docker container will stop, and subsequent requests will fail with a connection error.

Post-Exploitation: After the crash, the attacker has achieved a denial of service. No further access is gained, but the service is unavailable.

Blue Team Section

Detection:

  • Log Entries: Look for SurrealDB server logs containing "panic", "runtime error", or "invalid memory address or nil pointer dereference" immediately after a DEFINE PARAMETER or DEFINE FUNCTION query.
  • Network Traffic: Monitor for SurrealQL queries that contain ON ROOT or ON NAMESPACE in conjunction with DEFINE PARAMETER or DEFINE FUNCTION.
  • Endpoint Indicators: The SurrealDB process will terminate unexpectedly. Monitoring tools should alert on process crashes.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • SurrealQL queries containing DEFINE PARAMETER or DEFINE FUNCTION with ON ROOT or ON NAMESPACE scope.
  • HTTP Request Patterns:
    • POST requests to /sql endpoint with the above payload.
  • File System Artifacts:
    • SurrealDB crash dump files (if configured).
  • Process Execution Anomalies:
    • Unexpected termination of the surrealdb process.
  • Log Entries:
    • Server logs containing "panic", "runtime error", or "nil pointer dereference".

STIX-like IOC List:

Type Value Description
autonomous-system N/A No specific ASN identified.
domain-name N/A No specific domain identified.
ipv4-addr N/A No specific IP identified.
url N/A No specific URL identified.
mutex N/A No mutex identified.
file N/A No specific file identified.
process surrealdb The process that crashes.
log panic, runtime error, nil pointer dereference Log entries indicating exploitation.

Detection Engineering

YARA Rule

rule CVE-2024-58369_Detection {
    meta:
        description = "Detects exploitation of CVE-2024-58369 in Surrealdb"
        author = "Valters IT Hub"
        date = "2026-07-18"
        reference = "https://www.valtersit.com/cve/cve-2024-58369"
    strings:
        $s1 = "DEFINE PARAMETER" ascii wide nocase
        $s2 = "DEFINE FUNCTION" ascii wide nocase
        $s3 = "ON ROOT" ascii wide nocase
        $s4 = "ON NAMESPACE" ascii wide nocase
    condition:
        (($s1 or $s2) and ($s3 or $s4))
}

Sigma Rule (SIEM)

title: CVE-2024-58369 Surrealdb Exploitation Detection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects exploitation attempts targeting CVE-2024-58369
author: Valters IT Hub
date: 2026-07-18
references:
    - https://www.valtersit.com/cve/cve-2024-58369
logsource:
    category: application
    product: surrealdb
detection:
    selection:
        EventID: 1000  # Example: Application Error Event ID
        ProviderName: 'SurrealDB'
        Message|contains|all:
            - 'panic'
            - 'runtime error'
    condition: selection
falsepositives:
    - Legitimate administrative activity
level: high

Suricata IDS Rule

alert http $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
    msg:"CVE-2024-58369 Surrealdb DoS Exploitation Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/sql"; http_uri;
    content:"DEFINE PARAMETER"; http_client_body;
    content:"ON ROOT"; http_client_body;
    classtype:attempted-dos;
    sid:1000001;
    rev:1;
)

Elastic (EQL) Query

sequence by host.name
  [ process where event.type == "start" and process.name == "surrealdb" ]
  [ process where event.type == "end" and process.name == "surrealdb" and process.exit_code != 0 ]

Splunk SPL Query

index=main sourcetype=surrealdb_log
"panic" OR "runtime error" OR "nil pointer dereference"
| table _time, host, source, message
| sort - _time

Wazuh Rule

<group name="surrealdb,">
  <rule id="100001" level="12">
    <decoded_as>json</decoded_as>
    <field name="message">\.*panic\.*</field>
    <description>SurrealDB server panic detected - possible CVE-2024-58369 exploitation</description>
    <mitre>
      <id>T1499</id>
    </mitre>
  </rule>
</group>

Remediation & Mitigation

Immediate Actions (0-24 hours)

  1. Apply the Patch: Upgrade SurrealDB to version 1.1.1 or later.
    # For Docker
    docker pull surrealdb/surrealdb:1.1.1
    docker stop surrealdb-vuln
    docker run -d --name surrealdb-patched -p 8000:8000 surrealdb/surrealdb:1.1.1 start --log trace --user root --pass root
    
  2. Compensating Controls (if patch cannot be applied):
    • Restrict network access to the SurrealDB server to trusted IPs only.
    • Implement a Web Application Firewall (WAF) rule to block requests containing DEFINE PARAMETER or DEFINE FUNCTION with ON ROOT or ON NAMESPACE.
    • Monitor for and terminate any suspicious sessions.
  3. Network-Level Mitigation:
    • Block or rate-limit requests to the /sql endpoint from untrusted networks.
  4. Authentication/ Access Control Hardening:
    • Review and revoke unnecessary user accounts.
    • Enforce strong password policies and multi-factor authentication.

Short-term (1-7 days)

  1. Configuration Hardening:
    • Ensure that custom parameters and functions are defined only at the required scope (e.g., ON DATABASE instead of ON ROOT).
  2. Monitoring Implementation:
    • Deploy the detection rules provided in this report.
    • Set up alerts for SurrealDB process crashes.
  3. Vulnerability Scanning:
    • Use a vulnerability scanner to confirm the SurrealDB version is 1.1.1 or later.

Long-term

  1. Architecture Changes:
    • Implement a database proxy or load balancer to provide an additional layer of defense.
    • Consider using a read-replica for non-critical queries to reduce the impact of a DoS attack.
  2. Security Control Improvements:
    • Implement a robust patch management process.
    • Conduct regular security audits and penetration testing.
  3. Developer Training:
    • Train developers on secure coding practices, particularly input validation and error handling.

Validation

To confirm the patch was applied:

curl -X POST http://localhost:8000/sql \
  -H "Accept: application/json" \
  -H "NS: test" \
  -H "DB: test" \
  -u "root:root" \
  -d "SELECT * FROM user;"

If the server responds successfully and does not crash when attempting the exploit, the patch is effective.

References & Resources


Report generated by Valters IT Hub Neural Engine v25 | 2026-07-18 | https://www.valtersit.com/cve/cve-2024-58369

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-58369/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.