CVE-2026-93593
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
ArcadeDB przed 26.9.1 nie egzekwuje wpisów ACL dla typów TimeSeries, ponieważ resolver ACL buduje uprawnienia na podstawie identyfikatorów bucketów, a typy TimeSeries nie posiadają normalnych bucketów rekordów. Uwierzytelniony użytkownik o niskich uprawnieniach może czytać lub wstawiać próbki TimeSeries pomimo jawnych reguł odmowy, wykorzystując brak sprawdzania dostępu opartego na nazwie typu, co powoduje, że wyszukiwanie uprawnień kończy się niepowodzeniem otwartym.
Ocena ryzyka
Użytkownik o niskich uprawnieniach może uzyskać dostęp do danych TimeSeries, które powinny być chronione, co prowadzi do naruszenia poufności i integralności danych.
Rekomendacja
Zaktualizuj ArcadeDB do wersji 26.9.1 lub nowszej; dodatkowo zweryfikuj, czy ACL dla typów TimeSeries są poprawnie egzekwowane.
Inne podatności w ArcadeDB
Zobacz wszystkie- CVE-2026-93594Wysokie
ArcadeDB (com.arcadedb:arcadedb-engine) do 26.8.1 egzekwuje reguły kontroli dostępu per typ/rekord tylko w LocalBucket, opierając się na identyfikatorze pliku. Ścieżki wykonywania zapytań, które docierają do danych przez pliki indeksu LSM lub silnik TimeSeries, nie wywołują tego sprawdzenia, więc uwierzytelniony użytkownik bez uprawnień readRecord/deleteRecord może odczytać wartości kluczy indeksu, identyfikatory rekordów, wartości MAX/MIN, próbki TimeSeries, poznać liczbę rekordów i usuwać wpisy indeksu, co desynchronizuje indeks z danymi. Nazwy indeksów i typów są odkrywalne przez SELECT FROM schema:indexes. Problem dotyczy wdrożeń embedded i serwerowych oraz wszystkich transportów. Naprawiono w 26.9.1.
- CVE-2026-65831Wysokie
ArcadeDB przed wersją 26.7.1 pozwala użytkownikowi z rolą czytelnika na wysłanie POST /api/v1/command/{database} z language: js, ponieważ PolyglotQueryEngine.command, analyze i registerFunctions nie egzekwują autoryzacji administratora bazy danych. GraalPolyglotEngine pozwala również obejść whitelistę allowedPackages poprzez odbicie z obiektu bazy danych do dowolnych klas hosta.
- CVE-2026-54077Wysokie
W ArcadeDB przed wersją 26.6.1 instrukcja IMPORT DATABASE nie wymagała uprawnień administracyjnych i przekazywała źródło do modułu importu bez walidacji. Uwierzytelniony użytkownik z dostępem do poleceń SQL przez /api/v1/command lub /api/v1/query może podać adresy HTTP/HTTPS, aby wykonać żądania do usług wewnętrznych, lub ścieżki file://, aby odczytać pliki dostępne dla procesu serwera i zaimportować je jako rekordy. Importer XML umożliwia też przetwarzanie DTD i encji zewnętrznych.
- CVE-2026-75854Krytyczne
ArcadeDB przed wersją 26.8.1 zawiera podatność braku uwierzytelnienia w pluginie Redis wire-protocol, co pozwala nieuwierzytelnionym atakującym na odczyt, zapis i usuwanie danych. Atakujący mogą łączyć się z portem Redis i wykonywać dowolne polecenia na dowolnej bazie danych bez podawania poświadczeń.
- CVE-2026-75852Krytyczne
ArcadeDB przed wersją 26.8.1 nie egzekwuje uwierzytelniania SASL dla poleceń danych w pluginie MongoDB wire-protocol. Nieuwierzytelnieni atakujący mogą wydawać polecenia insert, find, update, delete i create na dowolnej bazie danych, łącząc się z portem 27017 bez poświadczeń.
- CVE-2026-75851Krytyczne
Serwer ArcadeDB (com.arcadedb:arcadedb-server) w wersjach 26.7.3 i wcześniejszych nie propaguje uwierzytelnionego podmiotu do asynchronicznych wątków roboczych poleceń. Gdy polecenie HTTP jest wysyłane z awaitResponse:false, wykonuje się na asynchronicznym workerze, którego DatabaseContext nie ma powiązanego użytkownika, co powoduje, że brama autoryzacji skryptów staje się nieaktywna. Użytkownik z dostępem tylko do odczytu do jednej bazy danych może wysłać asynchroniczne polecenie JavaScript (language=js) przez endpoint /api/v1/command, aby uruchomić kod z nieograniczonym dostępem do hosta (np. database.getSecurity().createUser) i utworzyć administratora całego serwera, eskalując do pełnej kontroli administracyjnej. Naprawione w wersji 26.8.1.
- CVE-2026-75843Krytyczne
ArcadeDB przed wersją 26.8.1 nie wiąże uwierzytelnionego podmiotu z wątkiem wykonawcy transakcji gRPC w beginTransaction, co pozwala uwierzytelnionym użytkownikom z prawami odczytu na wykonywanie poleceń JavaScript bez kontroli autoryzacji skryptów. Atakujący mogą wykonać executeCommand z identyfikatorem transakcji, aby uruchomić nieograniczony JavaScript tworzący konta administratora całego serwera.
- CVE-2026-67342Krytyczne
ArcadeDB przed wersją 26.7.2 zawiera podatność na ominięcie autoryzacji w handlerach HTTP dla endpointów szeregów czasowych, batch, Prometheus i Grafana. Atakujący może uzyskać dostęp do baz danych i modyfikować je bez odpowiednich uprawnień, wywołując bezpośrednio podatne endpointy z dowolnymi parametrami bazy danych.
- CVE-2026-67341Krytyczne
ArcadeDB przed wersją 26.7.2 nie egzekwuje kontroli autoryzacji skryptów dla instrukcji SQL DEFINE FUNCTION z językiem js. Atakujący z dostępem do bazy danych może wykonać dowolny kod JavaScript, przesyłając instrukcje DEFINE FUNCTION, omijając zabezpieczenia ograniczające skryptowanie do administratorów.
- CVE-2026-44221Krytyczne
ArcadeDB w wersjach od 21.10.1 do 26.4.1 zawiera dwie wady: (1) funkcja ServerSecurityUser.getDatabaseUser() zwraca użytkownika bazy z niezainicjalizowaną mapą dostępu do plików, co powoduje zezwolenie na wszystko; (2) metoda ArcadeDBServer.createDatabase() pomija ustawienie factory.setSecurity(...), przez co nowo utworzona baza danych ma wyłączoną autoryzację na poziomie rekordów. Uwierzytelniony użytkownik lub token API może odczytywać, zapisywać i modyfikować schemat w dowolnej bazie na tym samym serwerze.
Oryginalny opis (angielski, źródło NVD)
ArcadeDB before 26.9.1 fails to enforce security-group types ACL entries for TimeSeries types because the ACL resolver builds permissions from bucket IDs, but TimeSeries types do not own normal record buckets. An authenticated low-privilege user can read or insert TimeSeries samples despite explicit deny rules by exploiting the missing type-name-based access check that causes permission lookups to fail open.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

