CRITICAL🇬🇧 English

CVE-2025-71392

SurrealDB: injection SurrealQL przez eksport — privilege escalation

CVSS 9.4v4.0pub. 2026-07-18upd. 2026-08-13

SurrealDB w wersjach przed 2.0.5, 2.1.x przed 2.1.5 oraz 2.2.x przed 2.2.2 nie escapuje poprawnie nazw tabel i pól podczas eksportu z linii komend, umożliwiając wstrzyknięcie kodu SurrealQL. Podatność pozwala uwierzytelnionemu użytkownikowi na przejęcie pełnej kontroli nad instancją SurrealDB przez privilege escalation.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Uwierzytelniony użytkownik systemowy z rolą OWNER lub EDITOR tworzy tabele lub pola o złośliwych nazwach zawierających kod SurrealQL. Podczas eksportu backupu poleceniem CLI, te nazwy nie są odpowiednio eskejpowane, przez co trafiają do pliku eksportu w surowej postaci. Gdy uprzywilejowany użytkownik importuje taki backup, osadzony kod SurrealQL zostaje wykonany w kontekście jego uprawnień. Mechanizm ten stanowi tzw. second-order injection — wstrzyknięcie następuje etapem później niż wprowadzenie danych, co pozwala ominąć nawet poprawnie zaimplementowaną sanityzację parametrów zapytań.

Skutki

Atakujący może dokonać privilege escalation i przejąć kontrolę na poziomie root nad instancją SurrealDB, uzyskując pełny dostęp do danych i możliwość wykonywania dowolnych operacji w bazie.

Mitygacja

Należy zaktualizować SurrealDB do wersji 2.0.5, 2.1.5 lub 2.2.2 (odpowiednio do używanej gałęzi). Dodatkowo należy ograniczyć możliwość nadawania ról OWNER i EDITOR niezbędnym użytkownikom oraz monitorować tworzenie tabel i pól o niestandardowych nazwach. Pliki eksportowe przed importem powinny być weryfikowane przez uprzywilejowanych administratorów.

Kogo dotyczy

SurrealDB przed wersją 2.0.5, SurrealDB 2.1.x przed 2.1.5 oraz SurrealDB 2.2.x przed 2.2.2. Szczególnie narażone są aplikacje umożliwiające użytkownikom definiowanie własnych nazw tabel lub pól.

Uwagi

Podatność ma charakter second-order SurrealQL injection — wstrzyknięcie jest skuteczne nawet wtedy, gdy aplikacja poprawnie sanityzuje parametry zapytań na etapie ich wprowadzania. Wektor ataku wymaga interakcji dwóch użytkowników: atakującego tworzącego złośliwe struktury oraz uprzywilejowanego użytkownika wykonującego import backupu.

CVSS Vector
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:X
  • Surrealdb

    APP
    Surrealdb
    < 2.0.52.1.0 – 2.1.5 (bez)2.2.0 – 2.2.2 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
LPE
CWE
Referencje

Powiązane podatności

CVE-2026-63756CRITICAL9.2PL ✓ten sam produkt

SurrealDB: Race condition w /rpc umożliwia przejęcie sesji uwierzytelnionej

CVE-2024-58366CRITICAL9.0PL ✓ten sam produkt

Format string vulnerability w SurrealDB — RCE przez scripting

CVE-2026-63739HIGH8.3PL ✓ten sam produkt

SurrealDB: Odczyt dowolnych plików przez filtr DEFINE ANALYZER

CVE-2026-63735HIGH8.6PL ✓ten sam produkt

SurrealDB — brak walidacji zakresu w niestandardowych trasach API

CVE-2026-63737HIGH7.1PL ✓ten sam produkt

SurrealDB — DoS poprzez przepełnienie stosu wywołaniami łańcuchów operatorów