Podatności SurrealDB
69 znanych podatności CVE w SurrealDB, przetłumaczonych i ocenionych.
- CVE-2026-109343Wysokie
SurrealDB przed wersją 3.3.0 umożliwia dostęp między dzierżawcami, ponieważ instrukcja SurrealQL USE przełącza sesję na dowolną przestrzeń nazw/bazę danych bez sprawdzania, czy poziom uwierzytelnienia wywołującego go obejmuje. Uwierzytelnieni użytkownicy przestrzeni nazw, baz danych lub rekordów mogą przełączyć się na innego dzierżawcę i czytać, tworzyć, aktualizować lub usuwać wiersze w tabelach, których PERMISSIONS na to pozwalają, takich jak PERMISSIONS FULL.
- CVE-2026-109342Średnie
SurrealDB w wersjach od 3.0.0 do 3.3.0 zawiera lukę braku uwierzytelniania w metodzie RPC revoke, która pozwala użytkownikom o niskich uprawnieniach lub nieuwierzytelnionym wywołującym unieważniać tokeny odświeżania innych użytkowników bez dowodu posiadania. Atakujący mogą uzyskać identyfikatory grantów przez ACCESS SHOW ALL z uprawnieniem VIEWER lub wyciekłe tokeny, a następnie trwale unieważnić tokeny odświeżania, wymuszając ponowne uwierzytelnienie.
- CVE-2026-109341Wysokie
SurrealDB przed wersją 3.3.0 zawiera podatność obejścia autoryzacji, która pozwala wywołującym z uprawnieniami zapisu na poziomie tabeli na odczyt pól ograniczonych przez SELECT poprzez rozwiązywanie wskaźników JSON Patch względem niezredukowanego rekordu. Atakujący mogą użyć operacji PATCH copy lub move, aby skopiować ukryte pola do czytelnych miejsc, lub nadużyć błędów niezgodności testu jako wyroczni ujawniającej.
- CVE-2026-109340Średnie
SurrealDB w wersjach od 3.1.0 do 3.3.0 zawiera lukę obejścia autoryzacji, która pozwala uwierzytelnionym użytkownikom usuwać chronione krawędzie grafu poprzez wywołanie REFERENCE ON DELETE CASCADE. Atakujący z uprawnieniem do usuwania w tabeli referencyjnej może usunąć rekord, którego kaskada wyłącza sprawdzanie uprawnień dla czyszczenia krawędzi, usuwając krawędzie mimo klauzuli PERMISSIONS FOR delete w tabeli krawędzi.
- CVE-2026-109339Średnie
SurrealDB w wersjach od 3.1.0 do 3.3.0 pozwala modułom Surrealism wyczerpać pamięć serwera, ponieważ linie stdout/stderr modułu są buforowane bez ograniczeń w pamięci hosta, omijając skonfigurowany limit pamięci modułu. Atakujący może uruchomić złośliwy moduł zainstalowany przez właściciela, który zapisuje dane wyjściowe bez znaków nowej linii, powodując awarię serwera i odmowę usługi dla wszystkich przestrzeni nazw i baz danych.
- CVE-2026-109338Średnie
SurrealDB w wersjach przed 3.3.0 zawiera lukę odmowy usługi, która pozwala użytkownikom z możliwością wykonywania zapytań na awarię serwera poprzez odczytywanie nie-ASCII wartości nagłówków w osadzonym JavaScripcie. Atakujący z włączonym skryptowaniem może odczytać takie wartości przez Headers get(), entries(), values() lub getSetCookie(), albo zwrócić je z punktów końcowych fetch(), powodując przerwanie procesu serwera.
- CVE-2026-109337Średnie
SurrealDB w wersjach przed 3.3.0 zawiera lukę obejścia autoryzacji, która pozwala użytkownikom rekordów wywnioskować wartości pól ukrytych przez uprawnienia SELECT na poziomie pola, używając predykatów LIVE SELECT WHERE na $before lub $after. Atakujący mogą tworzyć powtarzające się predykaty i obserwować, czy powiadomienia są dostarczane przy CREATE, UPDATE lub DELETE, aby potwierdzić lub zawęzić wartości zastrzeżonych pól.
- CVE-2026-109336Średnie
SurrealDB w wersjach przed 3.3.0 zawiera lukę obejścia autoryzacji, która pozwala użytkownikom rekordów odczytywać pola ukryte przez uprawnienia SELECT na poziomie pola poprzez projekcje LIVE SELECT. Atakujący mogą projektować zastrzeżone pola z niezredukowanych parametrów $after lub $before pod aliasem, aby otrzymać dokładne przechowywane wartości w powiadomieniach CREATE, UPDATE i DELETE.
- CVE-2026-109335Średnie
SurrealDB w wersjach od 3.0.0 do 3.3.0 zawiera lukę ujawnienia informacji, która pozwala użytkownikom rekordów odczytywać wartości ukryte przez uprawnienia SELECT na poziomie pola poprzez pola COMPUTED. Atakujący mogą wybierać rekordy, których czytelne pola COMPUTED pochodzą z ukrytych pól, lub używać klauzul RETURN przy zapisie z $before/$after, aby ujawnić ukryte wartości.
- CVE-2026-109334Wysokie
SurrealDB przed wersją 3.3.0 nie sprawdza wybranej przez wywołującego przestrzeni nazw lub bazy danych względem poziomu, na którym uwierzytelniony jest użytkownik systemowy na poziomie przestrzeni nazw lub bazy danych, co umożliwia dostęp między dzierżawcami. Uwierzytelniony atakujący może ustawić nagłówki Surreal-NS/Surreal-DB na /sql lub wywołać metodę RPC use, aby czytać, tworzyć, modyfikować i usuwać wiersze oraz odczytywać wartości DEFINE PARAM w innym dzierżawcy, jeśli PERMISSIONS tabel na to pozwalają.
- CVE-2026-109333Średnie
SurrealDB w wersjach od 3.0.0 do 3.3.0 zawiera lukę obejścia autoryzacji, która pozwala uwierzytelnionym użytkownikom rekordów odczytywać rekordy w innych przestrzeniach nazw lub bazach danych poprzez rozwiązywanie identyfikatorów rekordów przez FETCH. Atakujący mogą przełączyć się na obcą przestrzeń nazw/bazę danych i podać znany identyfikator rekordu w zapytaniu RETURN … FETCH, aby odczytać dane innego dzierżawcy, gdy uprawnienia tabeli pozwalają na odczyt.
- CVE-2026-102876Wysokie
SurrealDB przed wersją 3.3.0 zawiera obejście autoryzacji w konstrukcji sesji HTTP, gdzie check_auth() weryfikuje poświadczenia względem nagłówków Surreal-Auth-NS i Surreal-Auth-DB, ale konstruuje sesje przy użyciu nagłówków Surreal-NS i Surreal-DB bez walidacji uprawnień dostępu. Atakujący mogą uwierzytelnić się jako użytkownik z jednej dzierżawy, jednocześnie wybierając przestrzeń nazw i bazę danych innej dzierżawy, aby czytać, tworzyć i modyfikować rekordy poza granicami dzierżaw.
- CVE-2026-63763Wysokie
Podatność eskalacji uprawnień w SurrealDB przed wersją 2.5.0 i 3.0.0-beta.3. Nieuprzywilejowani użytkownicy mogą tworzyć lub modyfikować pola zawierające futures, funkcje lub domknięcia, które są wykonywane w kontekście uprzywilejowanego użytkownika, co prowadzi do eskalacji uprawnień aż do przejęcia serwera.
- CVE-2026-63762Średnie
SurrealDB przed wersją 2.6.1 (i przed 3.0.0-beta.3) zawiera podatność na odmowę usługi (DoS) w silniku JavaScript. Użytkownik z możliwością wykonywania zapytań może skonstruować duży string i przekazać go do kompilacji, powodując wyłuskanie wskaźnika null i awarię serwera.
- CVE-2026-63761Średnie
SurrealDB przed wersją 3.1.0 po cichu zamienia algorytm ES512 na ES384 podczas konfiguracji dostępu JWT z ALGORITHM ES512. Wynika to z braku wsparcia dla ES512 w crate'cie jsonwebtoken v10.x, co powoduje niedopasowanie krzywych (P-521 vs P-384) i błędy uwierzytelniania. Podatność nie pozwala na fałszowanie tokenów ani naruszenie poufności danych.
- CVE-2026-63760Wysokie
SurrealDB przed wersją 3.1.0 nie egzekwuje skonfigurowanego limitu głębokości rekurencji w parserze wartości i JSON podczas przetwarzania zagnieżdżonych nawiasów klamrowych, kwadratowych lub okrągłych. Nieuwierzytelnieni atakujący mogą wysyłać głęboko zagnieżdżone ładunki JSON do punktu końcowego WebSocket /rpc, aby wyczerpać pamięć serwera i spowodować awarię procesu.
- CVE-2026-63759Średnie
SurrealDB przed wersją 3.1.0 nie egzekwuje limitów głębokości rekurencji w parserze typów. Uwierzytelnieni atakujący mogą wysyłać zapytania z głęboko zagnieżdżonymi adnotacjami typów, co prowadzi do wyczerpania pamięci serwera i awarii.
- CVE-2026-63758Średnie
SurrealDB w wersjach przed 3.1.0 zawiera podatność na obejście autoryzacji w instrukcji KILL, która pozwala uwierzytelnionym użytkownikom bazy danych na kończenie subskrypcji LIVE SELECT innych użytkowników. Atakujący mogą wydawać instrukcje KILL z docelowymi UUID zapytań na żywo, zakłócając subskrypcje danych w czasie rzeczywistym bez weryfikacji własności.
- CVE-2026-63757Wysokie
Podatność w SurrealDB przed wersją 3.1.0. Metoda /rpc sessions HTTP zwraca identyfikatory UUID sesji bez uwierzytelniania i akceptuje dowolne pola sesji bez weryfikacji własności. Nieuwierzytelnieni atakujący mogą wyliczyć UUID sesji i podszyć się pod uwierzytelnione sesje, aby czytać, zapisywać, usuwać dane oraz eskalować uprawnienia.
- CVE-2026-63756Wysokie
Podatność typu time-of-check/time-of-use w SurrealDB przed wersją 3.1.0 w endpointcie HTTP /rpc. Nieuwierzytelnione żądania mogą dziedziczyć stan sesji uwierzytelnionego użytkownika, umożliwiając przejęcie uprawnień.
- CVE-2026-63755Średnie
SurrealDB przed wersją 3.1.0 ocenia klauzule WHERE dostarczone przez użytkownika przed wymuszeniem ograniczeń PERMISSIONS FOR SELECT WHERE. Uwierzytelniony użytkownik może odczytać pełną zawartość dowolnej tabeli w bazie danych, omijając sprawdzanie uprawnień na poziomie tabeli. Podatność ogranicza się do bieżącej bazy danych.
- CVE-2026-63754Średnie
W SurrealDB przed wersją 3.1.0 występuje podatność DoS, gdzie złośliwe zapytania LIVE z klauzulami WHERE powodującymi błędy powodują, że wszystkie operacje CREATE, UPDATE i DELETE na obserwowanej tabeli kończą się niepowodzeniem. Uwierzytelniony użytkownik z uprawnieniami tylko do odczytu może zablokować zapis na tabeli dla każdego użytkownika, w tym roota.
- CVE-2026-63753Średnie
Podatność w SurrealDB przed wersją 3.1.0. Nie odświeżanie stanu uwierzytelnienia w subskrypcjach LIVE SELECT po zmianie sesji. Atakujący mogą nadal otrzymywać powiadomienia w czasie rzeczywistym po wygaśnięciu lub odwołaniu sesji.
- CVE-2026-63752Średnie
SurrealDB przed wersją 3.1.0 zawiera podatność na obejście autoryzacji w instrukcji RELATE. Uwierzytelnieni użytkownicy z uprawnieniem CREATE mogą nadpisywać istniejące rekordy krawędzi bez wymaganego uprawnienia UPDATE, używając klauzuli SET id wskazującej na istniejący identyfikator krawędzi.
- CVE-2026-63751Średnie
SurrealDB przed wersją 3.1.0 zawiera podatność na obejście uprawnień na poziomie pól w operacjach JSON Patch. Uwierzytelnieni użytkownicy mogą odczytywać chronione pola, używając UPDATE PATCH z pustym wskaźnikiem from w operacjach kopiowania lub przenoszenia, co powoduje zduplikowanie wszystkich pól rekordu, w tym tych chronionych przez uprawnienia SELECT na poziomie pól.
- CVE-2026-63750Średnie
W SurrealDB przed wersją 3.1.0 limit SURREAL_WEBSOCKET_MAX_MESSAGE_SIZE nie jest stosowany do anonimowych połączeń WebSocket /sql. Atakujący mogą przesyłać ramki większe niż skonfigurowany limit przez wiele równoczesnych połączeń, co prowadzi do nadmiernego zużycia pamięci i degradacji dostępności /sql.
- CVE-2026-63749Średnie
SurrealDB przed wersją 3.1.0 zawiera podatność umożliwiającą ominięcie uwierzytelnienia w subskrypcjach LIVE SELECT. Wyrażenia uprawnień odnoszące się do $value, $before, $after lub $event są oceniane względem powiązań kontrolowanych przez atakującego, a nie rzeczywistych dokumentów. Uwierzytelnieni subskrybenci mogą rejestrować zapytania LIVE SELECT, aby otrzymywać powiadomienia o rekordach, które powinny być ukryte.
- CVE-2026-63748Średnie
SurrealDB przed wersją 3.1.0 ujawnia wartości pól ukrytych przez uprawnienia SELECT na poziomie pola poprzez komunikaty błędów. Atakujący z dostępem UPDATE mogą wywołać operacje arytmetyczne na ukrytych polach, co powoduje wyciek wartości w odpowiedziach błędów.
- CVE-2026-63747Wysokie
Podatność na odmowę usługi w SurrealDB przed wersją 3.1.0, występująca w handlerze RPC, który panikuje, gdy baza danych jest ustawiona bez przestrzeni nazw. Nieuwierzytelnieni atakujący mogą wysłać zniekształconą wiadomość WebSocket do punktu końcowego /rpc, powodując crash serwera.
- CVE-2026-63746Średnie
SurrealDB w wersjach przed 3.1.0 nie egzekwuje uprawnień SELECT na tabelach podczas nawigowania po krawędziach grafu lub referencjach zwrotnych. Uwierzytelnieni użytkownicy mogą odczytywać rekordy z dowolnej tabeli osiągalnej przez krawędzie grafu, niezależnie od klauzuli PERMISSIONS FOR select w tabeli docelowej.
- CVE-2026-63745Średnie
SurrealDB przed wersją 3.1.0 zawiera podatność na obejście autoryzacji, umożliwiającą uwierzytelnionym użytkownikom fałszowanie wartości pól identyfikatora rekordu poprzez zapis do edytowalnych pól treści. Atakujący mogą ominąć reguły dostępu oparte na składnikach identyfikatora, takich jak izolacja dzierżawcy, ustawiając pola o tej samej nazwie na sfałszowane wartości, które kontrole uprawnień błędnie odczytują zamiast niezmiennego klucza identyfikatora.
- CVE-2026-63744Średnie
SurrealDB przed wersją 3.1.5 zawiera podatność na fałszowanie żądań po stronie serwera (SSRF) w mechanizmie pobierania JWKS. Mechanizm ten podąża za przekierowaniami HTTP bez ponownej weryfikacji docelowego adresu względem dozwolonych sieci. Atakujący z rolą Owner może skonfigurować adres URL JWKS wskazujący na dozwolony host, który przekierowuje do zablokowanych adresów wewnętrznych, omijając kontrolę dostępu do sieci.
- CVE-2026-63743Średnie
SurrealDB przed wersją 3.1.0 zawiera podatność na obejście ograniczeń w obsłudze przekierowań HTTP, umożliwiającą uwierzytelnionym użytkownikom ominięcie reguł --deny-net ograniczonych do portów. Atakujący mogą połączyć przekierowanie HTTP z dozwolonej nazwy hosta na zabronioną kombinację host:port, a przekierowanie jest realizowane, ponieważ informacje o porcie są pomijane podczas oceny polityki przekierowań.
- CVE-2026-63742Średnie
SurrealDB przed wersją 3.1.0 zawiera podatność umożliwiającą ominięcie ograniczeń SELECT na poziomie pola w szybkich ścieżkach COUNT dla indeksowanych pól. Atakujący mogą wykonywać zapytania COUNT na indeksowanych polach z ograniczeniami SELECT na poziomie pola, aby potwierdzić lub odzyskać wartości ograniczonych pól poprzez wielokrotne zgadywanie.
- CVE-2026-63741Średnie
Podatność w SurrealDB przed wersją 3.1.0. System nie weryfikuje uprawnień DEFINE NAMESPACE ani DEFINE DATABASE podczas przetwarzania instrukcji USE NS i USE DB. Nieuwierzytelnieni atakujący mogą tworzyć dowolne przestrzenie nazw i bazy danych, omijając kontrole autoryzacji.
- CVE-2026-63740Średnie
SurrealDB przed wersją 3.1.4 nie egzekwuje poprawnie uprawnień SELECT na elementach tablicy (field.*) dla użytkowników rekordów. Atakujący z dostępem do zakresu rekordu może odczytać elementy tablicy, które powinny być ukryte na poziomie uprawnień.
- CVE-2026-63739Wysokie
Podatność w SurrealDB przed wersją 3.1.5, w filtrze DEFINE ANALYZER mapper, umożliwia odczyt dowolnych plików. Użytkownicy z rolami EDITOR lub OWNER mogą odczytać pliki dostępne dla procesu SurrealDB, podając ścieżki w filtrze i uzyskując treść plików w komunikatach błędów, gdy SURREAL_FILE_ALLOWLIST jest pusty lub nieskonfigurowany.
- CVE-2026-63738Średnie
SurrealDB w wersjach od 3.1.0 do 3.1.5 nie egzekwuje uprawnień SELECT na poziomie pola przy dostępie przez nawigację po krawędziach grafu. Atakujący z dostępem SELECT na poziomie tabeli mogą odczytać ukryte pola poprzez materializację rekordów przez nawigację grafową.
- CVE-2026-63737Średnie
Podatność w SurrealDB przed wersją 3.1.5 umożliwia uwierzytelnionym użytkownikom przeprowadzenie ataku typu odmowa usługi (DoS) poprzez wysłanie zapytań z długimi łańcuchami operatorów. Powoduje to przepełnienie stosu podczas przetwarzania zapytania i awarię serwera.
- CVE-2026-63736Średnie
SurrealDB przed wersją 3.2.0 zawiera podatność na fałszowanie żądań po stronie serwera (SSRF) w mechanizmie pobierania JWKS. Walidacja sprawdza tylko nazwę hosta w URL, a nie rozpoznane adresy IP, co pozwala atakującemu z rolą Owner na kierowanie żądań do adresów wewnętrznych.
- CVE-2026-63735Wysokie
Podatność w SurrealDB przed wersją 3.2.0 pozwala uwierzytelnionym użytkownikom na dostęp do niestandardowych endpointów API w innych przestrzeniach nazw/bazach danych, co może prowadzić do odczytu wrażliwych danych lub nieautoryzowanych operacji.
- CVE-2026-63734Średnie
Podatność DoS w SurrealDB przed wersją 3.2.0. Parser nagłówków SurrealML nie sprawdza poprawności danych wejściowych, co pozwala uwierzytelnionym użytkownikom z rolą Owner na przesłanie złośliwego pliku .surml do endpointu /ml/import. Nieprawidłowe wartości (np. nienumeryczne input-dimensions) powodują panic i zatrzymanie całego serwera.
- 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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

