CVE-2026-44221
KrytyczneCVSS 9.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 32 - wyżej niż 32% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący z dostępem do jednej bazy danych może uzyskać nieautoryzowany dostęp do wszystkich innych baz na serwerze, co prowadzi do wycieku danych i naruszenia integralności.
Rekomendacja
Należy niezwłocznie zaktualizować ArcadeDB do wersji 26.4.2 lub nowszej.
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-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-93598Wysokie
ArcadeDB (com.arcadedb:arcadedb-engine) do 26.8.1 zawiera niekompletną listę zabronioną w sandboxie skryptów polyglot: HostClassLookupFilter.DENIED wymienia java.util.ResourceBundle jako nazwę klasy, co nie obejmuje podklas, a ScriptTriggerExecutor.ALLOWED_PACKAGES zezwala na java.util.*. Użytkownik z uprawnieniem UPDATE_SCHEMA może odwołać się do java.util.PropertyResourceBundle lub java.util.ListResourceBundle i wywołać ResourceBundle.getBundle(String), aby odczytać zasoby .properties ze ścieżki klas aplikacji, ujawniając poufne dane konfiguracyjne. Naprawiono w 26.9.1.
- CVE-2026-93597Wysokie
ArcadeDB w wersjach przed 26.9.1 nie waliduje adresów przejściowych IPv6 w zabezpieczeniu SSRF używanym przez IMPORT DATABASE i polecenia serwera. Uwierzytelnieni atakujący mogą dostarczyć adresy URL rozwiązujące się do adresów NAT64, 6to4 lub Teredo zawierających wewnętrzne adresy IPv4 (RFC 1918 lub loopback), aby uzyskać dostęp do usług wewnętrznych i punktów końcowych metadanych chmury.
- CVE-2026-93596Średnie
Podatność w ArcadeDB przed wersją 26.9.1 pozwala uwierzytelnionemu użytkownikowi o niskich uprawnieniach na obejście kontroli dostępu ACL na poziomie typów wierzchołków i krawędzi. Dzieje się to przez wysłanie żądania wsadowego do punktu końcowego POST /api/v1/batch/{database} z domyślnym równoległym przetwarzaniem, które nie wiąże tożsamości użytkownika z wątkami roboczymi. W efekcie użytkownik może zapisywać krawędzie do chronionych wierzchołków, modyfikując dane grafu bez autoryzacji.
Oryginalny opis (angielski, źródło NVD)
ArcadeDB is a Multi-Model DBMS. Starting in version 21.10.1 and prior to version 26.4.2, authenticated users and API tokens scoped to a specific database could read, write, and mutate schema on any other database on the same server. Two distinct defects contributed: (1) ServerSecurityUser.getDatabaseUser() returned a DB user with an uninitialized fileAccessMap, which requestAccessOnFile treated as allow-all; (2) ArcadeDBServer.createDatabase() omitted factory.setSecurity(...) so any database created via POST /api/v1/server {"command":"create database X"} had its entire record-level authorization system silently disabled. In combination, record-level and database-level authorization could be bypassed by any authenticated principal. This vulnerability is fixed in 26.4.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

