SurrealDB w wersjach przed 3.1.5 zawiera podatność pozwalającą uwierzytelnionym użytkownikom na awaryjne zakończenie procesu serwera poprzez zapytania z bardzo długimi łańcuchami operatorów. Jest to groźne, ponieważ atakujący posiadający jedynie standardowe poświadczenia może całkowicie wyłączyć instancję bazy danych.
▸ Pokaż oryginał (EN)
SurrealDB versions before 3.1.5 contain a denial of service vulnerability where authenticated users can crash the server with queries containing long chains of operators. Attackers can submit queries with tens of thousands of chained operators that create unbounded expression trees, causing stack overflow during query processing and aborting the entire process.
Atakujący przesyła zapytanie zawierające dziesiątki tysięcy powiązanych ze sobą operatorów, co powoduje tworzenie nieograniczonych drzew wyrażeń (expression trees). Podczas przetwarzania takiego zapytania mechanizm parsowania lub ewaluacji przechodzi przez kolejne poziomy rekurencji, co prowadzi do wyczerpania przestrzeni stosu (stack overflow) zgodnie z CWE-674 (Uncontrolled Recursion). W efekcie cały proces serwera SurrealDB jest przerywany, co skutkuje niedostępnością usługi (DoS).
Uwierzytelniony atakujący może spowodować awaryjne zakończenie procesu serwera SurrealDB, doprowadzając do całkowitej niedostępności bazy danych dla wszystkich użytkowników i aplikacji.
Należy zaktualizować SurrealDB do wersji 3.1.5 lub nowszej. Szczegóły dotyczące patcha dostępne są w security advisory producenta pod adresem: https://github.com/surrealdb/surrealdb/security/advisories/GHSA-jv2j-mqmw-xvv5
SurrealDB we wszystkich wersjach przed 3.1.5.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/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:XSurrealdb
APPSurrealdb3.0.0 – 3.1.5 (bez)
Powiązane podatności
SurrealDB: Race condition w /rpc umożliwia przejęcie sesji uwierzytelnionej
SurrealDB: injection SurrealQL przez eksport — privilege escalation
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