SurrealDB before 2.0.5, 2.1.x before 2.1.5, and 2.2.x before 2.2.2 fails to properly escape table and field names in the command-line export command. An authenticated System User with OWNER or EDITOR roles can create tables or fields with malicious names containing SurrealQL. When a higher-privileged user subsequently imports the exported backup, the injected SurrealQL executes, enabling privilege escalation and root-level takeover of the SurrealDB instance. Applications that let users define custom tables or fields are also exposed to a universal second-order SurrealQL injection even when query parameters are sanitized.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/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:XSurrealdb
APPSurrealdb< 2.0.52.1.0 – 2.1.5 (excl.)2.2.0 – 2.2.2 (excl.)
Related vulnerabilities
SurrealDB: Race condition w /rpc umożliwia przejęcie sesji uwierzytelnionej
Format string vulnerability w SurrealDB — RCE przez scripting
SurrealDB: Odczyt dowolnych plików przez filtr DEFINE ANALYZER
SurrealDB — brak walidacji zakresu w niestandardowych trasach API
SurrealDB — DoS poprzez przepełnienie stosu wywołaniami łańcuchów operatorów