CVE-2024-58356
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
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ć.
Ocena ryzyka
Ryzyko polega na tym, że administrator może błędnie wierzyć, że zaostrzył uprawnienia dostępu do tabeli, podczas gdy w rzeczywistości zmiana nie została zastosowana, co może prowadzić do nieautoryzowanego dostępu do danych.
Rekomendacja
Zaleca się aktualizację SurrealDB do wersji 2.1.4 lub nowszej. Po aktualizacji należy zweryfikować, czy definicje tabel z TYPE RELATION są poprawnie nadpisywane.
Inne podatności w SurrealDB
Zobacz wszystkie- 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.
Oryginalny opis (angielski, źródło NVD)
SurrealDB before 2.1.4 silently fails to overwrite table definitions when the DEFINE TABLE ... OVERWRITE clause is used on tables defined with TYPE RELATION. Because table definitions include the PERMISSIONS clause, an attempt to tighten a table's permissions via OVERWRITE does not take effect, and the administrator may incorrectly believe the change was applied. As a result, a client authorized to run queries may continue to access data in that table that the updated (but unapplied) permissions were intended to restrict.

