Podatności SurrealDB
77 znanych podatności CVE w SurrealDB, przetłumaczonych i ocenionych.
- CVE-2026-63733Średnie
SurrealDB przed wersją 3.2.0 zawiera podatność na obejście uprawnień, gdzie instrukcje modyfikujące dane w klauzulach PERMISSIONS są wykonywane bez wymuszania kontroli dostępu. Atakujący z uprawnieniami do wykonania chronionej operacji może zapisywać do tabel, do których nie ma uprawnień, osadzając instrukcje CREATE, UPDATE, DELETE lub UPSERT w klauzuli PERMISSIONS, co prowadzi do niezamierzonych zapisów i uszkodzenia danych.
- CVE-2025-71398Wysokie
SurrealDB przed wersją 2.2.2 nie waliduje przekierowań HTTP w funkcjach http, co pozwala uwierzytelnionym użytkownikom ominąć ograniczenia deny-net poprzez przekierowanie na zablokowane adresy IP. Atakujący może hostować publiczny serwer przekierowujący do wewnętrznych zasobów.
- CVE-2025-71397Średnie
Podatność w SurrealDB przed wersjami 2.0.5, 2.1.5 i 2.2.2. Uwierzytelnieni użytkownicy z uprawnieniami OWNER lub EDITOR mogą zdefiniować funkcje bazy danych z zagnieżdżonymi pętlami FOR, co może doprowadzić do wyczerpania CPU i unieruchomienia serwera.
- CVE-2025-71396Średnie
SurrealDB przed wersją 2.0.5, 2.1.x przed 2.1.5 i 2.2.x przed 2.2.2 nie wymusza domyślnego limitu czasu wykonania dla osadzonych funkcji JavaScript, gdy skryptowanie jest jawnie włączone. Uwierzytelniony atakujący może wysyłać długotrwałe funkcje JavaScript, wyczerpując zasoby serwera i powodując odmowę usługi. Skryptowanie jest domyślnie wyłączone.
- CVE-2025-71395Średnie
Podatność wyczerpania pamięci w SurrealDB przed wersją 2.2.2 w funkcji string::replace, która nie ogranicza długości wynikowego ciągu przy użyciu wzorców regex. Uwierzytelniony atakujący może wysłać złośliwe zapytanie, powodując wyczerpanie pamięci serwera i odmowę usługi.
- CVE-2025-71394Średnie
Podatność w SurrealDB przed wersją 2.2.2 w instrukcji DEFINE ANALYZER umożliwia uwierzytelnionym użytkownikom odczyt dowolnych plików lokalnych. Atakujący z uprawnieniami root, namespace lub database mogą wskazać analizatory na dowolne ścieżki plików i wyodrębnić zawartość plików dwukolumnowych z separatorem tabulacji.
- CVE-2025-71393Średnie
SurrealDB przed wersją 2.2.2 z włączonym skryptowaniem nieprawidłowo egzekwuje limity rekurencji, gdy funkcje natywne zawierają osadzony JavaScript wykonujący nowe zapytania. Uwierzytelnieni atakujący mogą ominąć limit rekurencji poprzez łączenie wywołań funkcji natywnych i JavaScript, wywołując nieskończoną rekurencję i wyczerpując pamięć serwera.
- CVE-2025-71392Wysokie
Podatność w SurrealDB przed wersjami 2.0.5, 2.1.5 i 2.2.2 pozwala na wstrzyknięcie SurrealQL poprzez nieprawidłowe escapowanie nazw tabel i pól w eksporcie CLI. Uwierzytelniony użytkownik systemowy z rolą OWNER lub EDITOR może utworzyć tabelę lub pole o złośliwej nazwie, która po zaimportowaniu kopii zapasowej przez uprzywilejowanego użytkownika wykonuje wstrzyknięty kod, prowadząc do eskalacji uprawnień i przejęcia instancji SurrealDB.
- CVE-2025-71391Średnie
SurrealDB przed wersją 2.2.2 zawiera podatność na nieobsłużony wyjątek w module sieciowym, która pozwala uwierzytelnionym użytkownikom na awarię bazy danych. Atakujący mogą wysyłać spreparowane zapytania HTTP zawierające bajty null do punktu końcowego /sql, powodując nieobsłużony wyjątek, który crashuje instancję SurrealDB i wszystkie zależne aplikacje.
- CVE-2025-71390Wysokie
SurrealDB przed wersjami 2.2.6, 2.3.6, 2.1.8 oraz 3.0.0-alpha.7 nie waliduje nazw hostów rozpoznanych przez DNS względem ograniczeń deny-net w funkcjach http::*. Uwierzytelniony użytkownik może użyć nazwy hosta, która rozwiązuje się na zablokowany adres IP, omijając kontrolę dostępu.
- CVE-2024-58370Średnie
SurrealDB przed wersją 1.1.0 nie egzekwuje limitów głębokości rekurencji podczas parsowania zagnieżdżonych instrukcji SurrealQL, takich jak IF, RELATE i wyrażenia dostępu do atrybutów. Autoryzowany atakujący może wysłać zapytanie z nadmierną głębokością zagnieżdżenia, powodując przepełnienie stosu i awarię serwera.
- CVE-2024-58369Średnie
SurrealDB przed wersją 1.1.1 nieprawidłowo waliduje wywołania niestandardowych parametrów i funkcji na poziomie głównym lub przestrzeni nazw, powodując panikę serwera. Autoryzowani klienci mogą wywoływać te encje na nieobsługiwanych poziomach, aby doprowadzić do awarii serwera SurrealDB, skutkującej odmową usługi.
- CVE-2024-58368Wysokie
Podatność w SurrealDB przed wersją 1.1.0. Nieprawidłowe parsowanie nagłówków ID, DB i NS w żądaniach HTTP REST API zawierających znaki specjalne. Nieuwierzytelniony atakujący może wysłać spreparowane żądanie HTTP z nieprawidłowymi wartościami nagłówków, powodując nieobsłużony wyjątek i crash serwera.
- CVE-2024-58367Średnie
Podatność w SurrealDB przed wersją 2.0.4. Uprawnienia do pól nie są egzekwowane podczas operacji SELECT, UPDATE i DELETE. Uwierzytelniony użytkownik może uzyskać dostęp do wartości pól, do których nie ma uprawnień, używając technik takich jak SELECT VALUE, aliasowanie pól, funkcje, klauzula WHERE, RETURN BEFORE i SET.
- CVE-2024-58366Wysokie
SurrealDB przed wersją 1.1.1 zawiera podatność na atak format string w funkcji Exception::throw_type biblioteki rquickjs, gdy skrypty są włączone. Atakujący z uprawnieniami do skryptów może dostarczyć sekwencje format string w danych wejściowych błędów.
- CVE-2024-58365Średnie
SurrealDB przed wersją 1.2.0 zawiera podatność na nieobsłużony wyjątek w executorze zapytań podczas przetwarzania wywołań nieistniejących wbudowanych funkcji. Autoryzowani klienci mogą przygotować wstępnie sparsowane zapytania wywołujące nieistniejące funkcje, aby wywołać panikę i doprowadzić do awarii serwera.
- CVE-2024-58364Średnie
SurrealDB przed wersją 1.2.1 zawiera podatność na nieobsłużony wyjątek w renderowaniu zakresów (span rendering) podczas parsowania zapytań z błędami na znakach końca linii. Autoryzowani klienci mogą wysłać nieprawidłowe zapytanie, które powoduje panikę i awarię serwera.
- CVE-2024-58363Średnie
SurrealDB przed wersją 1.5.4 oraz 2.0.0-alpha.1 przed 2.0.0-alpha.6 nieprawidłowo weryfikuje uwierzytelnianie, gdy użytkownik zakresu przełącza bazy danych za pomocą klauzuli USE lub metody use. Atakujący z uwierzytelnioną sesją może podszyć się pod niepowiązanego użytkownika w innej bazie danych, jeśli istnieje rekord użytkownika o identycznym identyfikatorze.
- CVE-2024-58362Wysokie
Podatność w SurrealDB przed wersją 1.5.5 (oraz 2.0.0-beta przed 2.0.0-beta.3) w API RPC. Nieuwierzytelniony atakujący może dostarczyć binarny obiekt z podzapytaniem w miejsce danych uwierzytelniających, co prowadzi do wykonania podzapytania w kontekście właściciela bazy danych z rolą edytora.
- CVE-2024-58361Średnie
SurrealDB przed wersją 2.0.4 zawiera podatność na nieobsłużony wyjątek w kodzie renderowania błędów parsera podczas przetwarzania pustych ciągów znaków. Autoryzowani klienci mogą wykonać nieprawidłowo sformułowane zapytania z konwersją pustych ciągów na typy record, duration lub datetime, co powoduje panikę w renderowaniu błędów i awarię serwera.
- CVE-2024-58359Średnie
SurrealDB przed wersją 2.1.0 zawiera lukę DoS w mechanizmie sortowania przy użyciu klauzuli ORDER BY rand(). Autoryzowani klienci mogą wykonać zapytanie z ORDER BY rand(), co powoduje panic w funkcji sortującej i crash serwera.
- CVE-2024-58358Średnie
SurrealDB przed wersją 2.1.0 zawiera podatność odmowy usługi w konwersji ról. Uprzywilejowany użytkownik może zdefiniować użytkowników z nieistniejącymi rolami, a zalogowanie się takim użytkownikiem powoduje nieobsłużony panic i crash serwera.
- CVE-2024-58357Średnie
Podatność w SurrealDB przed wersją 2.1.0 w funkcji rand::time() powoduje panic przy wywołaniu unwrap na None z timestamp_opt. Autoryzowani klienci mogą wielokrotnie wywoływać rand::time(), aby wywołać panic serwera i spowodować odmowę usługi.
- CVE-2024-58356Średnie
SurrealDB przed wersją 2.1.4 po cichu nie nadpisuje definicji tabel, gdy używana jest klauzula DEFINE TABLE ... OVERWRITE na tabelach zdefiniowanych z TYPE RELATION. Ponieważ definicje tabel zawierają klauzulę PERMISSIONS, próba zaostrzenia uprawnień tabeli za pomocą OVERWRITE nie jest skuteczna, a administrator może błędnie sądzić, że zmiana została zastosowana. W rezultacie klient upoważniony do wykonywania zapytań może nadal uzyskiwać dostęp do danych w tej tabeli, które zaktualizowane (ale niezastosowane) uprawnienia miały ograniczyć.
- CVE-2023-54366Wysokie
SurrealDB przed wersją 1.0.1 domyślnie ustawia pełne uprawnienia do tabel (SELECT, CREATE, UPDATE, DELETE) zamiast braku uprawnień. Atakujący z dostępem do bazy danych lub nieuwierzytelnieni użytkownicy na publicznie dostępnych instancjach mogą wykonywać nieograniczone operacje na niezabezpieczonych tabelach.
- CVE-2026-63309Średnie
Podatność w SurrealDB przed wersją 3.1.5 powoduje, że uprawnienia SELECT na poziomie pól nie są stosowane do klauzul ORDER BY. Umożliwia to uwierzytelnionym użytkownikom ujawnienie względnego uporządkowania wartości w polach objętych ograniczeniami.
- CVE-2026-49997Średnie
W SurrealDB przed wersją 3.1.0, podczas usuwania węzła, funkcja Document::purge_edges automatycznie usuwała powiązane krawędzie grafu z pominięciem zdefiniowanych uprawnień PERMISSIONS FOR delete i PERMISSIONS FOR select dla tabeli krawędzi. Dzieje się tak, ponieważ operacja ta jest wykonywana z wyłączonymi uprawnieniami (opt.clone().with_perms(false)).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

