GHSA-58j9-j2fj-v8f4: SurrealDB vulnerable to Uncontrolled CPU Consumption via WebSocket Interface
7.5
CVSS Score
3.1
Basic Information
CVE ID
-
GHSA ID
EPSS Score
-
CWE
-
Published
1/19/2024
Updated
1/19/2024
KEV Status
No
Technology
Rust
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| surrealdb | rust | < 1.1.0 | 1.1.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from tungstenite's HTTP header processing during WebSocket handshakes. The commit diff shows SurrealDB updated from vulnerable tungstenite versions (<0.20.1) where these functions lacked proper header size validation. The original tungstenite issue (#376) specifically identifies the parsing loop in single_round() and try_parse() as the problem area. These functions repeatedly process oversized headers without early rejection, leading to CPU exhaustion. The functions are in the dependency chain through axum/tokio-tungstenite used by SurrealDB's WebSocket implementation.