Podatności SurrealDB
69 znanych podatności CVE w SurrealDB, przetłumaczonych i ocenionych.
- 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

