HIGH🇬🇧 English

CVE-2024-58362

SurrealDB — wstrzyknięcie podzapytania przez RPC API (signin/signup)

CVSS 8.7v4.0pub. 2026-07-18upd. 2026-08-12

SurrealDB przed wersją 1.5.5 (oraz 2.0.0-beta przed 2.0.0-beta.3) nie waliduje rekurencyjnie obiektów przekazywanych do operacji signin i signup w RPC API, co pozwala nieuwierzytelnionemu atakującemu na wykonanie dowolnego podzapytania w bazie danych. Podatność jest poważna, gdyż exploit nie wymaga żadnych uprawnień i jest dostępny przez sieć.

Pokaż oryginał (EN)

SurrealDB before 1.5.5 (and 2.0.0-beta before 2.0.0-beta.3) accepts an arbitrary object in the signin and signup operations of the RPC API without recursively validating it for non-computed values. When a record access method defines a SIGNIN or SIGNUP query and the RPC API is exposed to untrusted users, an unauthenticated attacker can encode a binary object containing a subquery using the bincode serialization format and supply it in place of credentials. The subquery is then executed within the database owner's SIGNIN/SIGNUP query under a system user session with the editor role, allowing the attacker to select, create, update, and delete non-IAM resources (though not view the query results directly, and not affect IAM resources, which require the owner role).

🤖 Analiza AI
Jak działa

Atakujący koduje binarny obiekt zawierający podzapytanie przy użyciu formatu serializacji bincode i dostarcza go w miejsce standardowych danych uwierzytelniających (credentials) do operacji signin lub signup przez RPC API. Ponieważ aplikacja nie przeprowadza rekurencyjnej walidacji przesyłanego obiektu pod kątem wartości nieobliczonych, podzapytanie jest przyjmowane jako poprawne dane wejściowe. Następnie podzapytanie jest wykonywane w kontekście zapytania SIGNIN lub SIGNUP zdefiniowanego przez metodę dostępu do rekordów, przy czym działa ono w sesji użytkownika systemowego z rolą editor (należącą do właściciela bazy danych).

Skutki

Nieuwierzytelniony atakujący uzyskuje możliwość wykonywania operacji select, create, update oraz delete na zasobach niebędących zasobami IAM w bazie danych — bez możliwości bezpośredniego podglądu wyników zapytania i bez wpływu na zasoby IAM (wymagające roli owner).

Mitygacja

Należy zaktualizować SurrealDB do wersji 1.5.5 lub nowszej (dla gałęzi 1.x) albo do wersji 2.0.0-beta.3 lub nowszej (dla gałęzi 2.0.0-beta). Do czasu aplikacji patcha zaleca się ograniczenie dostępu do RPC API wyłącznie do zaufanych klientów lub wyłączenie funkcji signin/signup przez RPC API.

Kogo dotyczy

SurrealDB w wersjach przed 1.5.5 oraz SurrealDB 2.0.0-beta w wersjach przed 2.0.0-beta.3, gdy RPC API jest udostępnione niezaufanym użytkownikom i zdefiniowana jest metoda dostępu do rekordów zawierająca zapytanie SIGNIN lub SIGNUP.

Uwagi

Podatność dotyczy wyłącznie instancji, w których RPC API jest wystawione na niezaufanych użytkowników i skonfigurowana jest metoda dostępu do rekordów z zapytaniem SIGNIN lub SIGNUP. Zasoby IAM (wymagające roli owner) nie są zagrożone.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/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.0< 1.5.5
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Auth Bypass
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-2025-71392CRITICAL9.4PL ✓ten sam produkt

SurrealDB: injection SurrealQL przez eksport — privilege escalation

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

Format string vulnerability w SurrealDB — RCE przez scripting

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

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

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

SurrealDB — brak walidacji zakresu w niestandardowych trasach API