SurrealDB
- < 2.2.2
- < 2.1.5
- < 2.0.5
A vulnerability exists in SurrealDB versions prior to 2.2.2, 2.1.5, and 2.0.5, when scripting is enabled. The issue arises because the database fails to properly enforce recursion limits. Authenticated attackers can exploit this by chaining native functions with embedded JavaScript that issues new queries, creating infinite recursion that exhausts server memory. This vulnerability only affects SurrealDB instances with scripting capabilities enabled, either through command-line flags or environment variables.
Exploitation of this vulnerability can lead to a denial-of-service condition, causing the server to run out of memory and potentially crash.
Users can upgrade to SurrealDB versions 2.2.2, 2.1.5, or 2.0.5 to address this vulnerability. Alternatively, SurrealDB can be configured to deny the execution of embedded scripting functions by using the `--deny-scripting` flag or the environment variable `SURREAL_CAPS_DENY_SCRIPT=true`.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.